liuchaojie 4 лет назад
Сommit
73d1359f4b
100 измененных файлов с 5393 добавлено и 0 удалено
  1. 23 0
      .project
  2. 72 0
      LICENSE
  3. 3 0
      README.md
  4. 470 0
      pom.xml
  5. 22 0
      src/main/java/com/xc/common/CmcPayConfig.java
  6. 8 0
      src/main/java/com/xc/common/Const.java
  7. 3 0
      src/main/java/com/xc/common/PayConst.java
  8. 24 0
      src/main/java/com/xc/common/ResponseCode.java
  9. 93 0
      src/main/java/com/xc/common/ServerResponse.java
  10. 5 0
      src/main/java/com/xc/common/StockFuturesConst.java
  11. 4 0
      src/main/java/com/xc/common/StockIndexConst.java
  12. 19 0
      src/main/java/com/xc/common/converter/MyJsonMapper.java
  13. 28 0
      src/main/java/com/xc/common/filter/ExceptionResolver.java
  14. 69 0
      src/main/java/com/xc/common/filter/SessionExpireFilter.java
  15. 54 0
      src/main/java/com/xc/common/interceptor/ApiAdminAuthorityInterceptor.java
  16. 54 0
      src/main/java/com/xc/common/interceptor/ApiAgentAuthorityInterceptor.java
  17. 65 0
      src/main/java/com/xc/common/interceptor/ApiUserAuthorityInterceptor.java
  18. 13 0
      src/main/java/com/xc/config/CORSFilter.java
  19. 74 0
      src/main/java/com/xc/config/StockPoll.java
  20. 55 0
      src/main/java/com/xc/config/StockTask.java
  21. 117 0
      src/main/java/com/xc/controller/AdminApiController.java
  22. 80 0
      src/main/java/com/xc/controller/AgentApiController.java
  23. 34 0
      src/main/java/com/xc/controller/ArticleApiController.java
  24. 128 0
      src/main/java/com/xc/controller/PayApiController.java
  25. 61 0
      src/main/java/com/xc/controller/ProtocolAdminController.java
  26. 25 0
      src/main/java/com/xc/controller/ProtocolApiController.java
  27. 28 0
      src/main/java/com/xc/controller/RealTimeController.java
  28. 68 0
      src/main/java/com/xc/controller/SiteApiController.java
  29. 69 0
      src/main/java/com/xc/controller/SmsApiController.java
  30. 74 0
      src/main/java/com/xc/controller/StockApiController.java
  31. 75 0
      src/main/java/com/xc/controller/StockFuturesApiController.java
  32. 54 0
      src/main/java/com/xc/controller/StockIndexApiController.java
  33. 118 0
      src/main/java/com/xc/controller/UserApiController.java
  34. 81 0
      src/main/java/com/xc/controller/VerifyCodeController.java
  35. 30 0
      src/main/java/com/xc/controller/agent/AgentCashDetailController.java
  36. 105 0
      src/main/java/com/xc/controller/agent/AgentController.java
  37. 28 0
      src/main/java/com/xc/controller/agent/AgentFuturesPositionController.java
  38. 31 0
      src/main/java/com/xc/controller/agent/AgentIndexPositionController.java
  39. 43 0
      src/main/java/com/xc/controller/agent/AgentPositionController.java
  40. 42 0
      src/main/java/com/xc/controller/agent/AgentRechargeController.java
  41. 45 0
      src/main/java/com/xc/controller/agent/AgentUserController.java
  42. 41 0
      src/main/java/com/xc/controller/agent/AgentWithdrawController.java
  43. 81 0
      src/main/java/com/xc/controller/backend/AdminAgentController.java
  44. 29 0
      src/main/java/com/xc/controller/backend/AdminCashDetailController.java
  45. 121 0
      src/main/java/com/xc/controller/backend/AdminController.java
  46. 55 0
      src/main/java/com/xc/controller/backend/AdminFuturesPositionController.java
  47. 65 0
      src/main/java/com/xc/controller/backend/AdminIndexPositionController.java
  48. 74 0
      src/main/java/com/xc/controller/backend/AdminLogsController.java
  49. 81 0
      src/main/java/com/xc/controller/backend/AdminPositionController.java
  50. 68 0
      src/main/java/com/xc/controller/backend/AdminRechargeController.java
  51. 50 0
      src/main/java/com/xc/controller/backend/AdminSiteArticleController.java
  52. 51 0
      src/main/java/com/xc/controller/backend/AdminSiteBannerController.java
  53. 35 0
      src/main/java/com/xc/controller/backend/AdminSiteFuturesSettingController.java
  54. 28 0
      src/main/java/com/xc/controller/backend/AdminSiteIndexSettingController.java
  55. 53 0
      src/main/java/com/xc/controller/backend/AdminSiteInfoController.java
  56. 52 0
      src/main/java/com/xc/controller/backend/AdminSitePayController.java
  57. 29 0
      src/main/java/com/xc/controller/backend/AdminSiteProductController.java
  58. 29 0
      src/main/java/com/xc/controller/backend/AdminSiteSettingController.java
  59. 59 0
      src/main/java/com/xc/controller/backend/AdminStockCoinController.java
  60. 70 0
      src/main/java/com/xc/controller/backend/AdminStockController.java
  61. 66 0
      src/main/java/com/xc/controller/backend/AdminStockFuturesController.java
  62. 45 0
      src/main/java/com/xc/controller/backend/AdminStockIndexController.java
  63. 99 0
      src/main/java/com/xc/controller/backend/AdminUserController.java
  64. 43 0
      src/main/java/com/xc/controller/backend/AdminWithDrawController.java
  65. 20 0
      src/main/java/com/xc/controller/coin/CoinApiController.java
  66. 170 0
      src/main/java/com/xc/controller/index/IndexApiController.java
  67. 90 0
      src/main/java/com/xc/controller/news/AdminNewsApiController.java
  68. 33 0
      src/main/java/com/xc/controller/news/ApiNewsController.java
  69. 43 0
      src/main/java/com/xc/controller/protol/UserBankController.java
  70. 32 0
      src/main/java/com/xc/controller/protol/UserCashDetailController.java
  71. 230 0
      src/main/java/com/xc/controller/protol/UserController.java
  72. 29 0
      src/main/java/com/xc/controller/protol/UserFuturesPositionController.java
  73. 28 0
      src/main/java/com/xc/controller/protol/UserIndexPositionController.java
  74. 30 0
      src/main/java/com/xc/controller/protol/UserOptionController.java
  75. 45 0
      src/main/java/com/xc/controller/protol/UserPayController.java
  76. 71 0
      src/main/java/com/xc/controller/protol/UserPositionController.java
  77. 50 0
      src/main/java/com/xc/controller/protol/UserRechargeController.java
  78. 61 0
      src/main/java/com/xc/controller/protol/UserWithdrawController.java
  79. 32 0
      src/main/java/com/xc/controller/sub/SubController.java
  80. 169 0
      src/main/java/com/xc/controller/ueditor/UeditorConfigController.java
  81. 37 0
      src/main/java/com/xc/dao/AgentUserMapper.java
  82. 28 0
      src/main/java/com/xc/dao/IndexApiMapper.java
  83. 13 0
      src/main/java/com/xc/dao/NewsMapper.java
  84. 20 0
      src/main/java/com/xc/dao/ProtocolMapper.java
  85. 19 0
      src/main/java/com/xc/dao/RealTimeMapper.java
  86. 32 0
      src/main/java/com/xc/dao/SiteAdminMapper.java
  87. 21 0
      src/main/java/com/xc/dao/SiteAmtTransLogMapper.java
  88. 23 0
      src/main/java/com/xc/dao/SiteArticleMapper.java
  89. 24 0
      src/main/java/com/xc/dao/SiteBannerMapper.java
  90. 20 0
      src/main/java/com/xc/dao/SiteFuturesSettingMapper.java
  91. 20 0
      src/main/java/com/xc/dao/SiteIndexSettingMapper.java
  92. 20 0
      src/main/java/com/xc/dao/SiteInfoMapper.java
  93. 23 0
      src/main/java/com/xc/dao/SiteLoginLogMapper.java
  94. 27 0
      src/main/java/com/xc/dao/SitePayMapper.java
  95. 20 0
      src/main/java/com/xc/dao/SiteProductMapper.java
  96. 20 0
      src/main/java/com/xc/dao/SiteSettingMapper.java
  97. 21 0
      src/main/java/com/xc/dao/SiteSmsLogMapper.java
  98. 22 0
      src/main/java/com/xc/dao/SiteTaskLogMapper.java
  99. 32 0
      src/main/java/com/xc/dao/StockCoinMapper.java
  100. 0 0
      src/main/java/com/xc/dao/StockFuturesMapper.java

+ 23 - 0
.project

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>stock2c1</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>

Разница между файлами не показана из-за своего большого размера
+ 72 - 0
LICENSE


+ 3 - 0
README.md

@@ -0,0 +1,3 @@
+# stock2c1
+
+stock2c1

+ 470 - 0
pom.xml

@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>com.xc</groupId>
+    <artifactId>stock2c1</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+
+    <name>stock2 Maven Webapp</name>
+    <!-- FIXME change it to the project's website -->
+    <url>http://www.example.com</url>
+
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+
+        <org.springframework.version>4.0.3.RELEASE</org.springframework.version>
+        <org.mybatis.version>3.4.1</org.mybatis.version>
+        <org.mybatis.spring.version>1.3.0</org.mybatis.spring.version>
+
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+    </properties>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!--tomcat-->
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-servlet-api</artifactId>
+            <version>8.0.53</version>
+        </dependency>
+        <!--支持websocket-->
+        <!--<dependency>-->
+        <!--<groupId>javax</groupId>-->
+        <!--<artifactId>javaee-api</artifactId>-->
+        <!--<version>7.0</version>-->
+        <!--</dependency>-->
+        <!--支持websocket-->
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.29.Final</version>
+        </dependency>
+        <!--springMVC-->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-webmvc</artifactId>
+            <version>${org.springframework.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-oxm</artifactId>
+            <version>${org.springframework.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+            <version>${org.springframework.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-tx</artifactId>
+            <version>${org.springframework.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>${org.springframework.version}</version>
+        </dependency>
+
+        <!--Mybatis-->
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+            <version>1.7.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis-spring</artifactId>
+            <version>${org.mybatis.spring.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis</artifactId>
+            <version>${org.mybatis.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjrt</artifactId>
+            <version>1.6.11</version>
+        </dependency>
+
+        <!--Jackson序列化-->
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-mapper-asl</artifactId>
+            <version>1.9.12</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-dbcp</groupId>
+            <artifactId>commons-dbcp</artifactId>
+            <version>1.4</version>
+            <!--<scope>runtime</scope>-->
+        </dependency>
+
+        <!--logback日志-->
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>1.1.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-core</artifactId>
+            <version>1.1.2</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <!--mysql connect-->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.1.6</version>
+        </dependency>
+
+        <!--guava工具类-->
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>20.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.5</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2.1</version>
+        </dependency>
+
+
+        <!--joda time-->
+        <dependency>
+            <groupId>joda-time</groupId>
+            <artifactId>joda-time</artifactId>
+            <version>2.3</version>
+        </dependency>
+
+        <!-- id加密解密 -->
+        <dependency>
+            <groupId>org.hashids</groupId>
+            <artifactId>hashids</artifactId>
+            <version>1.0.1</version>
+        </dependency>
+
+        <!-- ftpclient -->
+        <dependency>
+            <groupId>commons-net</groupId>
+            <artifactId>commons-net</artifactId>
+            <version>3.1</version>
+        </dependency>
+
+        <!-- file upload -->
+        <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.2.2</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.0.1</version>
+        </dependency>
+
+
+        <!-- mybatis pager -->
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper</artifactId>
+            <version>4.1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.miemiedev</groupId>
+            <artifactId>mybatis-paginator</artifactId>
+            <version>1.2.17</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.jsqlparser</groupId>
+            <artifactId>jsqlparser</artifactId>
+            <version>0.9.4</version>
+        </dependency>
+
+        <!--二期新增的-->
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
+            <version>2.6.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.16.18</version>
+        </dependency>
+
+        <!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
+        <dependency>
+            <groupId>org.springframework.session</groupId>
+            <artifactId>spring-session-data-redis</artifactId>
+            <version>1.2.0.RELEASE</version>
+        </dependency>
+
+        <!--redisson-->
+        <!--<dependency>-->
+        <!--<groupId>org.redisson</groupId>-->
+        <!--<artifactId>redisson</artifactId>-->
+        <!--<version>2.9.0</version>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+        <!--<groupId>com.fasterxml.jackson.dataformat</groupId>-->
+        <!--<artifactId>jackson-dataformat-avro</artifactId>-->
+        <!--<version>2.9.0</version>-->
+        <!--</dependency>-->
+
+        <!--集成freemarker-->
+        <!-- freemarker集成的支持,这个一定要有、不用报错-->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context-support</artifactId>
+            <version>3.2.4.RELEASE</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.25-incubating</version>
+        </dependency>
+
+        <!--七牛云存储-->
+        <dependency>
+            <groupId>com.qiniu</groupId>
+            <artifactId>qiniu-java-sdk</artifactId>
+            <version>7.2.6</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <!--微信sdk   https://github.com/wechat-group/weixin-java-tools  -->
+        <!--sdk wiki  https://github.com/wechat-group/weixin-java-tools/wiki  -->
+        <!--微信小程序:weixin-java-miniapp-->
+        <!--微信支付:weixin-java-pay-->
+        <!--微信开放平台:weixin-java-open-->
+        <!--公众号:weixin-java-mp-->
+        <!--企业号/企业微信:weixin-java-cp-->
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-mp</artifactId>
+            <version>2.7.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.github.binarywang</groupId>
+            <artifactId>weixin-java-pay</artifactId>
+            <version>2.7.0</version>
+        </dependency>
+        <!--支付sdk,必须用jdk1.8,在idea中preferences和project structor和pom中修改jdk版本-->
+        <dependency>
+            <groupId>cn.springboot</groupId>
+            <artifactId>best-pay-sdk</artifactId>
+            <version>1.1.0</version>
+        </dependency>
+
+        <!--aliyun sms sdk-->
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-core</artifactId>
+            <version>3.4.0</version>
+        </dependency>
+
+        <!-- https://mvnrepository.com/artifact/net.iharder/base64 -->
+        <!--<dependency>-->
+        <!--<groupId>net.iharder</groupId>-->
+        <!--<artifactId>base64</artifactId>-->
+        <!--<version>2.3.9</version>-->
+        <!--</dependency>-->
+
+        <!--聚合api json-->
+        <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.4</version>
+            <classifier>jdk15</classifier>
+        </dependency>
+
+
+        <!--识别指数首字母-->
+        <dependency>
+            <groupId>com.belerweb</groupId>
+            <artifactId>pinyin4j</artifactId>
+            <version>2.5.1</version>
+        </dependency>
+
+
+        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.47</version>
+        </dependency>
+
+
+        <!--http client maven pom 找了好久-->
+        <!--<dependency>-->
+        <!--<groupId>commons-httpclient</groupId>-->
+        <!--<artifactId>commons-httpclient</artifactId>-->
+        <!--<version>3.1</version>-->
+        <!--</dependency>-->
+
+
+        <!-- kaptcha验证码-->
+        <!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha -->
+        <dependency>
+            <groupId>com.github.penggle</groupId>
+            <artifactId>kaptcha</artifactId>
+            <version>2.3.2</version>
+        </dependency>
+
+
+        <!-- https://mvnrepository.com/artifact/org.openanzo.dependencies/org.apache.commons.httpclient -->
+        <!--<dependency>-->
+        <!--<groupId>org.openanzo.dependencies</groupId>-->
+        <!--<artifactId>org.apache.commons.httpclient</artifactId>-->
+        <!--<version>3.1</version>-->
+        <!--</dependency>-->
+
+        <!--跨域请求依赖-->
+        <dependency>
+            <groupId>com.thetransactioncompany</groupId>
+            <artifactId>cors-filter</artifactId>
+            <version>2.6</version>
+        </dependency>
+
+        <!--发送邮件-->
+        <!-- 邮件start -->
+        <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>mail</artifactId>
+            <version>1.4.7</version>
+        </dependency>
+        <!-- 邮件end -->
+
+        <!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
+        <dependency>
+            <groupId>org.dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+            <version>2.1.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <version>2.2.3</version>
+            <classifier>jdk15</classifier>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.9.8</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.auth0</groupId>
+            <artifactId>java-jwt</artifactId>
+            <version>3.8.2</version>
+        </dependency>
+    </dependencies>
+
+
+
+    <build>
+        <finalName>stock2c1</finalName>
+
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+
+            <!--PageHelper.startPage(1, 10);只对该语句以后的第一个查询语句得到的数据进行分页,-->
+            <!--就算你在PageInfo pa = new PageInfo("",对象);语句里面的对象是写的最终得到的数据,-->
+            <!--该插件还是只会对第一个查询所查询出来的数据进行分页-->
+            <!--第一个查询语句是指什么呢?举个例子吧-->
+            <!--比如你有一个查询数据的方法,写在了PageHelper.startPage(1, 10);下面.-->
+            <!--但是这个查询方法里面包含两个查询语句的话,该插件就只会对第一查询语句查询的数据进行分页,-->
+            <!--而不是对返回最终数据的查询与基础查询出来的数据进行分页.-->
+            <plugin>
+                <groupId>org.mybatis.generator</groupId>
+                <artifactId>mybatis-generator-maven-plugin</artifactId>
+                <version>1.3.2</version>
+                <configuration>
+                    <verbose>true</verbose>
+                    <overwrite>true</overwrite>
+                </configuration>
+            </plugin>
+
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>2.5</version>
+                <configuration>
+                    <failOnMissingWebXml>false</failOnMissingWebXml>
+                </configuration>
+            </plugin>
+
+        </plugins>
+        <resources>
+            <resource>
+                <directory>
+                    src/main/java
+                </directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>email/**.html</include>
+                    <include>mappers/**.xml</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/data/*</include>
+                    <include>**/*.xml</include>
+                    <include>**/*.properties</include>
+                </includes>
+            </resource>
+        </resources>
+        <!--        <sourceDirectory>src.main.java</sourceDirectory>-->
+    </build>
+</project>

+ 22 - 0
src/main/java/com/xc/common/CmcPayConfig.java

@@ -0,0 +1,22 @@
+package com.xc.common;
+
+/**
+ * Created by xieyuxing on 2017/9/18.
+ */
+public class CmcPayConfig {
+	
+    //商户后台密匙
+    public static final String KEY="0a17a92f45816a88431fa326b3b61baf";
+    //商户后台appid
+    public static final String UID="74021809";
+    //同步返回地址www.gssy.club
+    public static final String RETURN_URL="https://www.bldzb666888.com/homes/#/rechargelist";
+    //异步回调地址
+    public static final String NOTIFY_URL="https://www.bldzb666888.com/api/pay/juhenewpayNotify.do";
+    //接口服务器地址
+    public static final String URL="http://pay.phu889.com/api.php/webRequest/tradePay";
+    // 商户网页的编码方式【请根据实际情况自行配置】
+    public static final String CHARSET="utf-8";
+    public static final String TOKEN="ABCDEFG";
+    
+}

+ 8 - 0
src/main/java/com/xc/common/Const.java

@@ -0,0 +1,8 @@
+package com.xc.common;
+
+public class Const {
+  public static final String CURRENT_USER = "currentUser";
+  
+  public static void main(String[] args) {}
+}
+

+ 3 - 0
src/main/java/com/xc/common/PayConst.java

@@ -0,0 +1,3 @@
+package com.xc.common;
+
+public class PayConst {}

+ 24 - 0
src/main/java/com/xc/common/ResponseCode.java

@@ -0,0 +1,24 @@
+package com.xc.common;
+
+
+public enum  ResponseCode {
+    SUCCESS(0, "SUCCESS"),
+    ERROR(1, "ERROR"),
+    NEED_LOGIN(10, "NEED_LOGIN"),
+    ILLEGAL_ARGUMENT(2, "ILLEGAL_ARGUMENT");
+    private int code;
+    private String msg;
+
+    ResponseCode(int code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public int getCode() {
+        return this.code;
+    }
+
+    public String getMsg() {
+        return this.msg;
+    }
+}

+ 93 - 0
src/main/java/com/xc/common/ServerResponse.java

@@ -0,0 +1,93 @@
+package com.xc.common;
+
+import java.io.Serializable;
+
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+public class ServerResponse<T> implements Serializable {
+    private int status;
+    private String msg;
+    private T data;
+
+    public ServerResponse(){
+
+    }
+
+    private ServerResponse(int status) {
+        this.status = status;
+    }
+
+    private ServerResponse(int status, T data) {
+        this.status = status;
+        this.data = data;
+    }
+
+    private ServerResponse(int status, String msg) {
+        this.status = status;
+        this.msg = msg;
+    }
+
+    private ServerResponse(int status, String msg, T data) {
+        this.status = status;
+        this.msg = msg;
+        this.data = data;
+    }
+
+    public static void main(String[] args) {
+        ServerResponse serverResponse = new ServerResponse(1, new Object());
+        ServerResponse serverResponse1 = new ServerResponse(1, "abc");
+        System.out.print("ServerResponse");
+    }
+
+    @JsonIgnore
+    public boolean isSuccess() {
+        return (this.status == ResponseCode.SUCCESS.getCode());
+    }
+
+    public int getStatus() {
+        return this.status;
+    }
+
+    public T getData() {
+        return (T) this.data;
+    }
+
+    public String getMsg() {
+        return this.msg;
+    }
+
+    public static <T> ServerResponse<T> createBySuccess() {
+        return new ServerResponse(ResponseCode.SUCCESS.getCode());
+    }
+
+    public static <T> ServerResponse<T> createBySuccessMsg(String msg) {
+        return new ServerResponse(ResponseCode.SUCCESS.getCode(), msg);
+    }
+    public static <T> ServerResponse<T> createBySuccessMsg2(String msg) {
+        return new ServerResponse(111, msg);
+    }
+    public static <T> ServerResponse<T> createBySuccess(T data) {
+        return new ServerResponse(ResponseCode.SUCCESS.getCode(), data);
+    }
+
+    public static <T> ServerResponse<T> createBySuccess(String msg, T data) {
+        return new ServerResponse(ResponseCode.SUCCESS.getCode(), msg, data);
+    }
+
+    public static <T> ServerResponse<T> createByError() {
+        return new ServerResponse(ResponseCode.ERROR.getCode(), ResponseCode.ERROR.getMsg());
+    }
+
+    public static <T> ServerResponse<T> createByErrorMsg(String errormsg) {
+        return new ServerResponse(ResponseCode.ERROR.getCode(), errormsg);
+    }
+    public static <T> ServerResponse<T> createByErrorMsg2(String errormsg) {
+        return new ServerResponse(10000, errormsg);
+    }
+
+    public static <T> ServerResponse<T> createByErrorCodeMsg(int errorcode, String errormsg) {
+        return new ServerResponse(errorcode, errormsg);
+    }
+}

+ 5 - 0
src/main/java/com/xc/common/StockFuturesConst.java

@@ -0,0 +1,5 @@
+package com.xc.common;
+
+public class StockFuturesConst {}
+
+

+ 4 - 0
src/main/java/com/xc/common/StockIndexConst.java

@@ -0,0 +1,4 @@
+package com.xc.common;
+
+public class StockIndexConst {}
+

+ 19 - 0
src/main/java/com/xc/common/converter/MyJsonMapper.java

@@ -0,0 +1,19 @@
+package com.xc.common.converter;
+
+
+import org.codehaus.jackson.map.DeserializationConfig;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+@Component
+public class MyJsonMapper extends ObjectMapper {
+    private static final Logger log = LoggerFactory.getLogger(MyJsonMapper.class);
+
+    public MyJsonMapper() {
+        log.info("找到不存在的值,忽略========================");
+
+        configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+    }
+}

+ 28 - 0
src/main/java/com/xc/common/filter/ExceptionResolver.java

@@ -0,0 +1,28 @@
+package com.xc.common.filter;
+
+import com.xc.common.ResponseCode;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.servlet.HandlerExceptionResolver;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
+
+public class ExceptionResolver implements HandlerExceptionResolver {
+    private static final Logger log = LoggerFactory.getLogger(ExceptionResolver.class);
+
+    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
+        log.error("==============================ExceptionResolver=================================");
+        log.error("{} Exception by xiongcan", httpServletRequest.getRequestURI(), e);
+
+        ModelAndView modelAndView = new ModelAndView(new MappingJackson2JsonView());
+        modelAndView.addObject("status", Integer.valueOf(ResponseCode.ERROR.getCode()));
+        modelAndView.addObject("msg", "自定义接口异常,详情请查看日志");
+        modelAndView.addObject("data", e.toString());
+
+        return modelAndView;
+    }
+}

+ 69 - 0
src/main/java/com/xc/common/filter/SessionExpireFilter.java

@@ -0,0 +1,69 @@
+package com.xc.common.filter;
+
+
+import com.xc.utils.PropertiesUtil;
+import com.xc.utils.redis.CookieUtils;
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class
+SessionExpireFilter implements Filter {
+    private static final Logger log = LoggerFactory.getLogger(SessionExpireFilter.class);
+
+    public void init(FilterConfig filterConfig) throws ServletException {
+    }
+
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
+        String userLoginToken = CookieUtils.readLoginToken(httpServletRequest,
+                PropertiesUtil.getProperty("user.cookie.name"));
+        if (StringUtils.isNotEmpty(userLoginToken)) {
+            String userjsonstr = RedisShardedPoolUtils.get(userLoginToken);
+            if (StringUtils.isNotEmpty(userjsonstr)) {
+                RedisShardedPoolUtils.expire(userLoginToken, 5400);
+            }
+        }
+        String agentLoginToken = CookieUtils.readLoginToken(httpServletRequest,
+                PropertiesUtil.getProperty("agent.cookie.name"));
+        if (StringUtils.isNotEmpty(agentLoginToken)) {
+
+            String agentJsonStr = RedisShardedPoolUtils.get(agentLoginToken);
+            if (StringUtils.isNotEmpty(agentJsonStr)) {
+                RedisShardedPoolUtils.expire(agentLoginToken, 5400);
+            }
+        }
+        String adminLoginToken = CookieUtils.readLoginToken(httpServletRequest,
+                PropertiesUtil.getProperty("admin.cookie.name"));
+        if (StringUtils.isNotEmpty(adminLoginToken)) {
+            String adminJsonStr = RedisShardedPoolUtils.get(adminLoginToken);
+            if (StringUtils.isNotEmpty(adminJsonStr)) {
+                RedisShardedPoolUtils.expire(adminLoginToken, 5400);
+            }
+        }
+        HttpServletRequest req = (HttpServletRequest) servletRequest;
+        HttpServletResponse resp = (HttpServletResponse) servletResponse;
+        String origin = req.getHeader("Origin");
+        if (origin == null) {
+            origin = req.getHeader("Referer");
+        }
+        resp.setHeader("Access-Control-Allow-Origin", origin);
+        resp.setHeader("Access-Control-Allow-Credentials", "true");
+        filterChain.doFilter(servletRequest, servletResponse);
+    }
+
+    public void destroy() {
+    }
+}

+ 54 - 0
src/main/java/com/xc/common/interceptor/ApiAdminAuthorityInterceptor.java

@@ -0,0 +1,54 @@
+package com.xc.common.interceptor;
+
+
+import com.google.common.collect.Maps;
+import com.xc.pojo.SiteAdmin;
+import com.xc.utils.PropertiesUtil;
+import com.xc.utils.redis.CookieUtils;
+import com.xc.utils.redis.JsonUtil;
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import java.io.PrintWriter;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+public class ApiAdminAuthorityInterceptor implements HandlerInterceptor {
+    private static final Logger log = LoggerFactory.getLogger(ApiAdminAuthorityInterceptor.class);
+
+    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) throws Exception {
+        SiteAdmin siteAdmin = null;
+        String loginToken = CookieUtils.readLoginToken(httpServletRequest,
+                PropertiesUtil.getProperty("admin.cookie.name"));
+        if (StringUtils.isNotEmpty(loginToken)) {
+            String adminJsonStr = RedisShardedPoolUtils.get(loginToken);
+            siteAdmin = (SiteAdmin) JsonUtil.string2Obj(adminJsonStr, SiteAdmin.class);
+        }
+        if (null == siteAdmin) {
+            httpServletResponse.reset();
+            httpServletResponse.setCharacterEncoding("UTF-8");
+            httpServletResponse.setContentType("application/json;charset=UTF-8");
+            PrintWriter writer = httpServletResponse.getWriter();
+            Map map = Maps.newHashMap();
+            map.put("success", Boolean.valueOf(false));
+            map.put("msg", "请先登录,无权限访问admin");
+            writer.print(JsonUtil.obj2String(map));
+            writer.flush();
+            writer.close();
+            return false;
+        }
+        return true;
+    }
+
+    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, ModelAndView modelAndView) throws Exception {
+    }
+
+    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, Exception e) throws Exception {
+    }
+}

+ 54 - 0
src/main/java/com/xc/common/interceptor/ApiAgentAuthorityInterceptor.java

@@ -0,0 +1,54 @@
+package com.xc.common.interceptor;
+
+
+import com.google.common.collect.Maps;
+import com.xc.pojo.AgentUser;
+import com.xc.utils.PropertiesUtil;
+import com.xc.utils.redis.CookieUtils;
+import com.xc.utils.redis.JsonUtil;
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import java.io.PrintWriter;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+public class ApiAgentAuthorityInterceptor implements HandlerInterceptor {
+    private static final Logger log = LoggerFactory.getLogger(ApiAgentAuthorityInterceptor.class);
+
+    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) throws Exception {
+        AgentUser agentUser = null;
+        String loginToken = CookieUtils.readLoginToken(httpServletRequest,
+                PropertiesUtil.getProperty("agent.cookie.name"));
+        if (StringUtils.isNotEmpty(loginToken)) {
+            String agentJsonStr = RedisShardedPoolUtils.get(loginToken);
+            agentUser = (AgentUser) JsonUtil.string2Obj(agentJsonStr, AgentUser.class);
+        }
+        if (null == agentUser) {
+            httpServletResponse.reset();
+            httpServletResponse.setCharacterEncoding("UTF-8");
+            httpServletResponse.setContentType("application/json;charset=UTF-8");
+            PrintWriter writer = httpServletResponse.getWriter();
+            Map map = Maps.newHashMap();
+            map.put("success", Boolean.valueOf(false));
+            map.put("msg", "请先登录,无权限访问agent");
+            writer.print(JsonUtil.obj2String(map));
+            writer.flush();
+            writer.close();
+            return false;
+        }
+        return true;
+    }
+
+    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, ModelAndView modelAndView) throws Exception {
+    }
+
+    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, Exception e) throws Exception {
+    }
+}

+ 65 - 0
src/main/java/com/xc/common/interceptor/ApiUserAuthorityInterceptor.java

@@ -0,0 +1,65 @@
+package com.xc.common.interceptor;
+
+
+import com.google.common.collect.Maps;
+import com.xc.pojo.User;
+import com.xc.utils.PropertiesUtil;
+import com.xc.utils.TokenUtils;
+import com.xc.utils.redis.CookieUtils;
+import com.xc.utils.redis.JsonUtil;
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import java.io.PrintWriter;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+public class ApiUserAuthorityInterceptor implements HandlerInterceptor {
+    private static final Logger log = LoggerFactory.getLogger(ApiUserAuthorityInterceptor.class);
+
+    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) throws Exception {
+        User user = null;
+        String url = httpServletRequest.getRequestURI();
+        if (url.equals("/user/upload.do")) {
+            return true;
+        }
+//        String loginToken = CookieUtils.readLoginToken(httpServletRequest, PropertiesUtil.getProperty("user.cookie.name"));
+//        if (StringUtils.isNotEmpty(loginToken)) {
+//            String userJsonStr = RedisShardedPoolUtils.get(loginToken);
+//            user = (User) JsonUtil.string2Obj(userJsonStr, User.class);
+//        }
+        String token = httpServletRequest.getHeader("token");
+        if (StringUtils.isNotEmpty(token)) {
+            if(TokenUtils.verify(token)) {
+                user = (User) JsonUtil.string2Obj(RedisShardedPoolUtils.get(token), User.class);
+            }
+        }
+        if (null == user) {
+            httpServletResponse.reset();
+            httpServletResponse.setCharacterEncoding("UTF-8");
+            httpServletResponse.setContentType("application/json;charset=UTF-8");
+            PrintWriter writer = httpServletResponse.getWriter();
+            Map map = Maps.newHashMap();
+            map.put("status", 10000);
+            map.put("msg", "请先登录,无权限访问user");
+            writer.print(JsonUtil.obj2String(map));
+            writer.flush();
+            writer.close();
+            return false;
+        }
+        RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(user), 5400);
+        return true;
+    }
+
+    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, ModelAndView modelAndView) throws Exception {
+    }
+
+    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, Exception e) throws Exception {
+    }
+}

+ 13 - 0
src/main/java/com/xc/config/CORSFilter.java

@@ -0,0 +1,13 @@
+package com.xc.config;
+
+import org.springframework.http.server.ServletServerHttpRequest;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Component
+public class CORSFilter extends HandlerInterceptorAdapter {
+
+}

+ 74 - 0
src/main/java/com/xc/config/StockPoll.java

@@ -0,0 +1,74 @@
+package com.xc.config;
+
+import com.xc.dao.RealTimeMapper;
+import com.xc.dao.StockMapper;
+import com.xc.pojo.Stock;
+import com.xc.utils.stock.sina.SinaStockApi;
+import java.util.List;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import org.springframework.stereotype.Component;
+
+@Component
+public class StockPoll {
+    @Resource
+    StockMapper stockMapper;
+
+    @Resource
+    RealTimeMapper realTimeMapper;
+
+    private ThreadPoolExecutor pool;
+
+    @PostConstruct
+    public void initPool() {
+        this.pool = new ThreadPoolExecutor(50, 70, 20L, TimeUnit.SECONDS, new ArrayBlockingQueue<>(240));
+        this.pool.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardOldestPolicy());
+    }
+
+    public void test(String stockType, Integer stock_num, Integer stock_nums) {
+        List<Stock> stockCodes = this.stockMapper.findStockCode(stockType, stock_num, stock_nums);
+        System.out.println("stockCodes" + stockCodes.size() + "--stockCodes");
+        for (Stock stock : stockCodes) {
+            String stockGid = stock.getStockGid();
+            String sinaStock = SinaStockApi.getSinaStock("s_" + stockGid);
+            String[] arrayOfString = sinaStock.split(",");
+            StockTask stockTask = new StockTask();
+            stockTask.splits((Object[])arrayOfString);
+            stockTask.stockGid(stockGid);
+            stockTask.StockPoll(this);
+            stockTask.RealTimeMapper(this.realTimeMapper);
+            this.pool.submit(stockTask);
+        }
+    }
+
+    public void z1() {
+        test("sz", Integer.valueOf(0), Integer.valueOf(540));
+    }
+
+    public void z2() {
+        test("sz", Integer.valueOf(540), Integer.valueOf(540));
+    }
+
+    public void z3() {
+        test("sz", Integer.valueOf(1080), Integer.valueOf(540));
+    }
+
+    public void z4() {
+        test("sz", Integer.valueOf(1620), Integer.valueOf(539));
+    }
+
+    public void h1() {
+        test("sh", Integer.valueOf(0), Integer.valueOf(484));
+    }
+
+    public void h2() {
+        test("sh", Integer.valueOf(484), Integer.valueOf(484));
+    }
+
+    public void h3() {
+        test("sh", Integer.valueOf(968), Integer.valueOf(485));
+    }
+}

+ 55 - 0
src/main/java/com/xc/config/StockTask.java

@@ -0,0 +1,55 @@
+package com.xc.config;
+
+import com.xc.dao.RealTimeMapper;
+import com.xc.pojo.RealTime;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import javax.annotation.Resource;
+
+public class StockTask implements Runnable {
+    @Resource
+    RealTimeMapper realTimeMapper;
+
+    private Object[] split;
+
+    private String stockGid;
+
+    private StockPoll stockPoll;
+
+    public void run() {
+        RealTime realTime = new RealTime();
+        realTime.setPrice(Double.parseDouble(this.split[1].toString()));
+        realTime.setRates(Double.parseDouble(this.split[3].toString()));
+        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
+        String time = sdf.format(new Date());
+        realTime.setTime(time);
+        realTime.setVolumes(Integer.parseInt(this.split[4].toString()));
+        String s = this.split[5].toString();
+        int index = s.indexOf("\"");
+        String substring = s.substring(0, index);
+        int amounts = Integer.parseInt(substring);
+        realTime.setAmounts(amounts);
+        realTime.setStockCode(this.stockGid);
+        List<RealTime> realTimes = new ArrayList<>();
+        realTimes.add(realTime);
+        this.realTimeMapper.insertRealTime(realTimes);
+    }
+
+    public void splits(Object[] split) {
+        this.split = split;
+    }
+
+    public void stockGid(String stockGid) {
+        this.stockGid = stockGid;
+    }
+
+    public void StockPoll(StockPoll stockPoll) {
+        this.stockPoll = stockPoll;
+    }
+
+    public void RealTimeMapper(RealTimeMapper realTimeMapper) {
+        this.realTimeMapper = realTimeMapper;
+    }
+}

+ 117 - 0
src/main/java/com/xc/controller/AdminApiController.java

@@ -0,0 +1,117 @@
+package com.xc.controller;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.ISiteAdminService;
+import com.xc.service.ISiteFuturesSettingService;
+import com.xc.service.ISiteIndexSettingService;
+import com.xc.service.ISiteProductService;
+import com.xc.service.ISiteSettingService;
+import com.xc.utils.PropertiesUtil;
+import com.xc.utils.redis.CookieUtils;
+import com.xc.utils.redis.JsonUtil;
+import com.xc.utils.redis.RedisConst;
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.UUID;
+
+@Controller
+@RequestMapping({"/api/admin/"})
+public class AdminApiController {
+    private static final Logger log = LoggerFactory.getLogger(AdminApiController.class);
+
+    @Autowired
+    ISiteAdminService iSiteAdminService;
+
+    @Autowired
+    ISiteSettingService iSiteSettingService;
+
+    @Autowired
+    ISiteIndexSettingService iSiteIndexSettingService;
+
+    @Autowired
+    ISiteFuturesSettingService iSiteFuturesSettingService;
+
+    @Autowired
+    ISiteProductService iSiteProductService;
+
+    //管理系统登录
+    @RequestMapping({"login.do"})
+    @ResponseBody
+    public ServerResponse login(@RequestParam("adminPhone") String adminPhone, @RequestParam("adminPwd") String adminPwd, @RequestParam("verifyCode") String verifyCode, HttpSession httpSession, HttpServletRequest request, HttpServletResponse response) {
+        ServerResponse serverResponse = this.iSiteAdminService.login(adminPhone, adminPwd, verifyCode, request);
+        String admin_cookie_name = PropertiesUtil.getProperty("admin.cookie.name");
+
+
+
+        if (serverResponse.isSuccess()) {
+            CookieUtils.writeLoginToken(response, RedisConst.getAdminRedisKey(httpSession.getId()), admin_cookie_name);
+            String str = RedisShardedPoolUtils.setEx(RedisConst.getAdminRedisKey(httpSession.getId()),
+                    JsonUtil.obj2String(serverResponse.getData()), 5400);
+        }
+        return serverResponse;
+    }
+
+    //管理系统注销
+    @RequestMapping({"logout.do"})
+    @ResponseBody
+    public ServerResponse logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
+        String cookie_name = PropertiesUtil.getProperty("admin.cookie.name");
+        String logintoken = CookieUtils.readLoginToken(httpServletRequest, cookie_name);
+        log.info("管理员 token = {} ,退出登陆", logintoken);
+        RedisShardedPoolUtils.del(logintoken);
+        CookieUtils.delLoginToken(httpServletRequest, httpServletResponse, cookie_name);
+        return ServerResponse.createBySuccess();
+    }
+
+    @RequestMapping({"authCharge.do"})
+    @ResponseBody
+    public ServerResponse authCharge(@RequestParam("token") String token, @RequestParam("state") Integer state, @RequestParam("orderSn") String orderSn) {
+        return this.iSiteAdminService.authCharge(token, state, orderSn);
+    }
+
+    //查询风控设置 指数分控信息
+    @RequestMapping({"getSetting.do"})
+    @ResponseBody
+    public ServerResponse getSetting() {
+        return ServerResponse.createBySuccess(this.iSiteSettingService.getSiteSetting());
+    }
+
+    //查询风控设置 指数风控信息
+    @RequestMapping({"getIndexSetting.do"})
+    @ResponseBody
+    public ServerResponse getIndexSetting() {
+        return ServerResponse.createBySuccess(this.iSiteIndexSettingService.getSiteIndexSetting());
+    }
+
+    //查询风控设置 期货风控信息
+    @RequestMapping({"getFuturesSetting.do"})
+    @ResponseBody
+    public ServerResponse getFuturesSetting() {
+        return ServerResponse.createBySuccess(this.iSiteFuturesSettingService.getSetting());
+    }
+
+    //风控设置 显示产品配置信息
+    @RequestMapping({"getProductSetting.do"})
+    @ResponseBody
+    public ServerResponse getProductSetting() {
+        return ServerResponse.createBySuccess(this.iSiteProductService.getProductSetting());
+    }
+
+    @RequestMapping({"getRateall.do"})
+    @ResponseBody
+    public ServerResponse getRateall(){
+        return  ServerResponse.createBySuccess(this.iSiteProductService.getRateall());
+    }
+}

+ 80 - 0
src/main/java/com/xc/controller/AgentApiController.java

@@ -0,0 +1,80 @@
+package com.xc.controller;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.service.IAgentUserService;
+
+import com.xc.utils.PropertiesUtil;
+
+import com.xc.utils.redis.CookieUtils;
+
+import com.xc.utils.redis.JsonUtil;
+
+import com.xc.utils.redis.RedisConst;
+
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import com.xc.vo.agent.AgentLoginResultVO;
+
+import javax.servlet.http.HttpServletRequest;
+
+import javax.servlet.http.HttpServletResponse;
+
+import javax.servlet.http.HttpSession;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/api/agent/"})
+public class AgentApiController {
+    private static final Logger log = LoggerFactory.getLogger(AgentApiController.class);
+
+    @Autowired
+    IAgentUserService iAgentUserService;
+
+    //代理后台登录
+    @RequestMapping({"login.do"})
+    @ResponseBody
+    public ServerResponse login(@RequestParam("agentPhone") String agentPhone, @RequestParam("agentPwd") String agentPwd, @RequestParam(value = "verifyCode", required = false, defaultValue = "") String verifyCode, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
+        ServerResponse serverResponse = this.iAgentUserService.login(agentPhone, agentPwd, verifyCode, httpServletRequest);
+        String agent_cookie_name = PropertiesUtil.getProperty("agent.cookie.name");
+        String token = RedisConst.getAgentRedisKey(httpSession.getId());
+        if (serverResponse.isSuccess()) {
+            CookieUtils.writeLoginToken(httpServletResponse, token, agent_cookie_name);
+            String redisSetExResult = RedisShardedPoolUtils.setEx(token,
+                    JsonUtil.obj2String(serverResponse.getData()), 5400);
+            log.info("redis setex agent result : {}", redisSetExResult);
+            AgentLoginResultVO resultVO = new AgentLoginResultVO();
+            resultVO.setKey(agent_cookie_name);
+            resultVO.setToken(token);
+            return ServerResponse.createBySuccess("登陆成功", resultVO);
+        }
+        return serverResponse;
+    }
+
+    //代理后台退出登录
+    @RequestMapping({"logout.do"})
+    @ResponseBody
+    public ServerResponse logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
+        String cookie_name = PropertiesUtil.getProperty("agent.cookie.name");
+        String logintoken = CookieUtils.readLoginToken(httpServletRequest, cookie_name);
+        log.info("代理 token = {} ,退出登陆", logintoken);
+        RedisShardedPoolUtils.del(logintoken);
+        CookieUtils.delLoginToken(httpServletRequest, httpServletResponse, cookie_name);
+        return ServerResponse.createBySuccess();
+    }
+}

+ 34 - 0
src/main/java/com/xc/controller/ArticleApiController.java

@@ -0,0 +1,34 @@
+package com.xc.controller;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.ISiteArticleService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/api/art/"})
+public class ArticleApiController {
+    private static final Logger log = LoggerFactory.getLogger(ArticleApiController.class);
+
+    @Autowired
+    ISiteArticleService iSiteArticleService;
+
+    //查询企业公告信息
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "artTitle", required = false) String artTitle, @RequestParam(value = "artType", required = false) String artType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "12") int pageSize) {
+        return this.iSiteArticleService.list(artTitle, artType, pageNum, pageSize);
+    }
+
+    //查询指定企业公告信息
+    @RequestMapping({"detail.do"})
+    @ResponseBody
+    public ServerResponse detail(Integer artId) {
+        return this.iSiteArticleService.detail(artId);
+    }
+}

+ 128 - 0
src/main/java/com/xc/controller/PayApiController.java

@@ -0,0 +1,128 @@
+package com.xc.controller;
+
+import com.google.common.base.Strings;
+import com.xc.common.CmcPayConfig;
+import com.xc.common.ServerResponse;
+
+import com.xc.service.IPayService;
+
+import java.io.IOException;
+import java.net.URLDecoder;
+
+import javax.servlet.http.HttpServletRequest;
+
+import javax.servlet.http.HttpServletResponse;
+
+import com.xc.service.IUserRechargeService;
+import com.xc.service.IUserService;
+import com.xc.utils.pay.CmcPayOuterRequestUtil;
+import org.apache.commons.collections.map.LinkedMap;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/api/pay/"})
+public class PayApiController {
+    private static final Logger log = LoggerFactory.getLogger(PayApiController.class);
+
+    @Autowired
+    IPayService iPayService;
+
+    @Autowired
+    IUserService iUserService;
+
+    @Autowired
+    IUserRechargeService iUserRechargeService;
+
+    @RequestMapping({"juhe1Notify.do"})
+    @ResponseBody
+    public void juhe1Notify(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        ServerResponse serverResponse = this.iPayService.juhe1Notify(request);
+        if (serverResponse.isSuccess()) {
+            response.getWriter().write("ok");
+            log.info("第一个支付渠道的通知 返回 ok 成功");
+        } else {
+            log.error("juhe1Notify error Msg = {}", serverResponse.getMsg());
+        }
+    }
+
+    @RequestMapping({"juhenewpayNotify.do"})
+    @ResponseBody
+    public void juhenewpayNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        System.out.println("============开始回调===============");
+        System.out.println(request.getParameter("amount"));
+        LinkedMap map = new LinkedMap();
+        String out_trade_no = (String) request.getParameter("out_trade_no");
+        String amount = (String) request.getParameter("amount");
+        String[] arr = out_trade_no.split("_");
+        map.put("amount", amount);
+        map.put("appid", (String) request.getParameter("appid"));
+        //map.put("currency_type", (String) request.getParameter("currency_type"));
+        //map.put("goods_name", (String) request.getParameter("goods_name"));
+        map.put("out_trade_no", out_trade_no);
+        map.put("pay_id", (String) request.getParameter("pay_id"));
+        map.put("pay_no", (String) request.getParameter("pay_no"));
+        map.put("payment", (String) request.getParameter("payment"));
+        map.put("resp_code", (String) request.getParameter("resp_code"));
+        map.put("resp_desc", URLDecoder.decode((String) request.getParameter("resp_desc"), "UTF-8"));
+        //map.put("sign_type", (String) request.getParameter("sign_type"));
+        map.put("tran_amount", (String) request.getParameter("tran_amount"));
+        map.put("version", (String) request.getParameter("version"));
+        String _sign = CmcPayOuterRequestUtil.getSign(map, CmcPayConfig.KEY);
+
+        System.out.println("resp_code:" + (String) request.getParameter("resp_code"));
+        System.out.println("sign:" + (String) request.getParameter("sign"));
+        System.out.println("_sign:" + _sign);
+
+        // 表示订单收款【成功】的情况,请根据实际情况自行处理
+//        if ("00".equals((String) request.getParameter("resp_code")) && _sign.equals((String) request.getParameter("sign"))) {
+        log.info("回调创建订单前map==="+map.toString());
+        if ("00".equals((String) request.getParameter("resp_code"))) {
+            // 这里编写用户业务逻辑代码,如存储订单状态,自动发货等
+            //TODO
+            if (amount != null & !StringUtils.isEmpty(amount)) {
+                System.out.println("============更新用户金额===============");
+                Double aDouble = Double.valueOf(amount);
+                Integer integer = aDouble.intValue();
+                iUserService.updateUserAmt(aDouble, new Integer(arr[0]));
+                iUserRechargeService.createOrder(Integer.valueOf(arr[0]), 1, integer, "2");
+            }
+            System.out.println("============回调成功并结束===============");
+            response.getWriter().println("success");
+        } else {
+            System.out.println("============回调失败并结束===============");
+            response.getWriter().println("error");
+        }
+
+
+//        ServerResponse serverResponse = this.iPayService.juhe1Notify(request);
+//        if (serverResponse.isSuccess()) {
+//            response.getWriter().write("ok");
+//            log.info("第一个支付渠道的通知 返回 ok 成功");
+//        } else {
+//            log.error("juhe1Notify error Msg = {}", serverResponse.getMsg());
+//        }
+    }
+
+    @RequestMapping({"flyNotify.do"})
+    @ResponseBody
+    public void flyNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        ServerResponse serverResponse = this.iPayService.flyNotify(request);
+        if (serverResponse.isSuccess()) {
+            response.getWriter().write("{\"reason\":\"success\"}");
+            log.info("fly 支付渠道的通知 返回 success 成功");
+        } else {
+            log.error("fly notify error Msg = {}", serverResponse.getMsg());
+        }
+    }
+}

+ 61 - 0
src/main/java/com/xc/controller/ProtocolAdminController.java

@@ -0,0 +1,61 @@
+package com.xc.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.xc.common.ServerResponse;
+import com.xc.pojo.ProtocolInfo;
+import com.xc.service.ProtocolService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+
+
+@Controller
+@RequestMapping({"/admin/protocol/"})
+public class ProtocolAdminController {
+
+    @Autowired
+    private ProtocolService protocolService;
+
+    // 获取协议类型
+    @RequestMapping({"getProtocolType.do"})
+    @ResponseBody
+    public ServerResponse getProtocolType() {
+        return ServerResponse.createBySuccess(protocolService.getProtocolType());
+    }
+
+    // 获取协议详情根据类型
+    @RequestMapping({"getProtocolInfoList.do"})
+    @ResponseBody
+    public ServerResponse<PageInfo> getProtocolInfoList(@RequestParam(required = false) String protocolName, @RequestParam(required = false) String typeId, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize ) {
+        PageInfo pageInfo=protocolService.getProtocolInfoList(protocolName, typeId,pageNum,pageSize);
+        return ServerResponse.createBySuccess(pageInfo);
+    }
+	
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(ProtocolInfo protocolInfo, HttpServletRequest request){
+        return this.protocolService.addProtocol(protocolInfo,request);
+    }
+
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(ProtocolInfo protocolInfo,HttpServletRequest request){
+        return this.protocolService.updateProtocol(protocolInfo,request);
+    }
+
+    @RequestMapping({"delete.do"})
+    @ResponseBody
+    public Integer delete(Integer id){
+        return this.protocolService.deleteProtocol(id);
+    }
+
+    @RequestMapping({"selectByid.do"})
+    @ResponseBody
+    public ProtocolInfo selectByid(Integer id){
+        return this.protocolService.selectByid(id);
+    }
+}

+ 25 - 0
src/main/java/com/xc/controller/ProtocolApiController.java

@@ -0,0 +1,25 @@
+package com.xc.controller;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.ProtocolService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/api/protocol/"})
+public class ProtocolApiController {
+
+    @Autowired
+    private ProtocolService protocolService;
+
+    // 获取协议详情根据类型
+    @RequestMapping({"getProtocolInfoByType.do"})
+    @ResponseBody
+    public ServerResponse getProtocolInfoByType(@RequestParam String typeId) {
+        return ServerResponse.createBySuccess(protocolService.getProtocolInfoByType(typeId));
+    }
+}

+ 28 - 0
src/main/java/com/xc/controller/RealTimeController.java

@@ -0,0 +1,28 @@
+package com.xc.controller;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IStockService;
+import com.xc.service.RealTimeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/api/realTime/"})
+public class RealTimeController {
+
+    @Autowired
+    RealTimeService realTimeService;
+
+    @Autowired
+    IStockService stockService;
+
+    @RequestMapping({"findStock.do"})
+    @ResponseBody
+    public ServerResponse findStock(@RequestParam(value = "stockCode", required = false) String stockCode) {
+        return this.realTimeService.findStock(stockCode);
+    }
+
+}

+ 68 - 0
src/main/java/com/xc/controller/SiteApiController.java

@@ -0,0 +1,68 @@
+package com.xc.controller;
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.SiteInfo;
+import com.xc.service.ISiteBannerService;
+import com.xc.service.ISiteInfoService;
+import com.xc.service.ISitePayService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/api/site/"})
+public class SiteApiController {
+    private static final Logger log = LoggerFactory.getLogger(SiteApiController.class);
+
+    @Autowired
+    ISiteBannerService iSiteBannerService;
+
+    @Autowired
+    ISiteInfoService iSiteInfoService;
+
+    @Autowired
+    ISitePayService iSitePayService;
+
+    //查询官网PC端交易 轮播图信息
+    @RequestMapping({"getBannerByPlat.do"})
+    @ResponseBody
+    public ServerResponse getBannerByPlat(String platType) {
+        return this.iSiteBannerService.getBannerByPlat(platType);
+    }
+
+    //查询系统基本设置信息
+    @RequestMapping({"getInfo.do"})
+    @ResponseBody
+    public ServerResponse getInfo() {
+        return this.iSiteInfoService.getInfo();
+//        SiteInfo siteInfo = new SiteInfo();
+//        siteInfo.setSiteColor("black");
+//        return ServerResponse.createBySuccess(siteInfo);
+    }
+
+    //查询充值方式信息
+    @RequestMapping({"getPayInfo.do"})
+    @ResponseBody
+    public ServerResponse getPayInfo() {
+        return this.iSitePayService.getPayInfo();
+    }
+
+    //查询充值订单信息
+    @RequestMapping({"getPayInfoById.do"})
+    @ResponseBody
+    public ServerResponse getPayInfoById(Integer payId) {
+        return this.iSitePayService.getPayInfoById(payId);
+    }
+
+    //获取K线图服务器地址
+    @RequestMapping({"getServerUrl.do"})
+    @ResponseBody
+    public ServerResponse getServerUrl() {
+        return this.iSitePayService.getServerUrl();
+    }
+}
+

+ 69 - 0
src/main/java/com/xc/controller/SmsApiController.java

@@ -0,0 +1,69 @@
+package com.xc.controller;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.pojo.SiteSmsLog;
+import com.xc.service.ISiteSmsLogService;
+import com.xc.service.ISmsService;
+
+import com.xc.utils.DateTimeUtil;
+import com.xc.utils.smsUtil.smsUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/api/sms/"})
+public class SmsApiController {
+    private static final Logger log = LoggerFactory.getLogger(SmsApiController.class);
+
+    @Autowired
+    ISmsService iSmsService;
+
+    @Autowired
+    ISiteSmsLogService iSiteSmsLogService;
+
+    //注册用户 短信发送
+    @RequestMapping({"sendRegSms.do"})
+    @ResponseBody
+    public ServerResponse sendRegSms(String phoneNum) {
+        if (StringUtils.isBlank(phoneNum)) {
+            return ServerResponse.createByErrorMsg("发送失败,手机号不能为空");
+        }
+        smsUtil smsUtil = new smsUtil();
+        log.info("smsphone"+phoneNum);
+        String code = smsUtil.sendSMS(phoneNum);
+        if (!StringUtils.isEmpty(code) && Integer.valueOf(code)>0) {
+            SiteSmsLog siteSmsLog = new SiteSmsLog();
+            siteSmsLog.setSmsPhone(phoneNum);
+            siteSmsLog.setSmsTitle("注册验证码");
+            siteSmsLog.setSmsCnt(code);
+            siteSmsLog.setSmsStatus(Integer.valueOf(0));
+            siteSmsLog.setSmsTemplate("字段无用");
+            siteSmsLog.setAddTime(DateTimeUtil.getCurrentDate());
+            iSiteSmsLogService.addData(siteSmsLog);
+            return ServerResponse.createBySuccessMsg("发送成功");
+        } else {
+            log.info("error-code="+code);
+            return ServerResponse.createByErrorMsg("短信发送失败,请重试!code:"+code);
+        }
+    }
+
+    //找回密码 短信发送
+    @RequestMapping({"sendForgetSms.do"})
+    @ResponseBody
+    public ServerResponse sendForgetSms(String phoneNum) {
+        return this.iSmsService.sendAliyunSMS(phoneNum, "SMS_174915941");
+    }
+}

+ 74 - 0
src/main/java/com/xc/controller/StockApiController.java

@@ -0,0 +1,74 @@
+package com.xc.controller;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IStockService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import javax.servlet.http.HttpServletResponse;
+
+@Controller
+@RequestMapping({"/api/stock/"})
+public class StockApiController {
+    private static final Logger log = LoggerFactory.getLogger(StockApiController.class);
+
+    @Autowired
+    IStockService iStockService;
+
+    //获取指数列表
+    @RequestMapping({"getStockInfoList.do"})
+    @ResponseBody
+    public ServerResponse getStockInfoList() {
+        return ServerResponse.createBySuccess(iStockService.getStockInfoList());
+    }
+
+    //查询 指数指数、大盘指数信息
+    @RequestMapping({"getMarket.do"})
+    @ResponseBody
+    public ServerResponse getMarket() {
+        return this.iStockService.getMarket();
+    }
+
+    //查询官网PC端交易 所有指数信息及指定指数信息
+    @RequestMapping({"getStock.do"})
+    @ResponseBody
+    public ServerResponse getStock(@RequestParam(value = "num", defaultValue = "0") int num,
+                                   @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                   @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+                                   @RequestParam(value = "stockPlate", required = false) String stockPlate,
+                                   @RequestParam(value = "stockType", required = false) String stockType,
+                                   @RequestParam(value = "keyWords", required = false) String keyWords) {
+        return this.iStockService.getStock(num,pageNum, pageSize, keyWords, stockPlate, stockType);
+    }
+
+    //通过指数代码查询指数信息
+    @RequestMapping({"getSingleStock.do"})
+    @ResponseBody
+    public ServerResponse getSingleStock(@RequestParam("code") String code) {
+        return this.iStockService.getSingleStock(code);
+    }
+
+    @RequestMapping({"getMinK.do"})
+    @ResponseBody
+    public ServerResponse getMinK(@RequestParam("code") String code, @RequestParam("time") Integer time, @RequestParam("ma") Integer ma, @RequestParam("size") Integer size) {
+        return this.iStockService.getMinK(code, time, ma, size);
+    }
+
+    //查询指数历史数据数据
+    @RequestMapping({"getMinK_Echarts.do"})
+    @ResponseBody
+    public ServerResponse getMinK_Echarts(@RequestParam("code") String code, @RequestParam("time") Integer time, @RequestParam("ma") Integer ma, @RequestParam("size") Integer size) {
+        return this.iStockService.getMinK_Echarts(code, time, ma, size);
+    }
+
+    //通过指数代码查询指数信息
+    @RequestMapping({"getSingleStockConfig.do"})
+    @ResponseBody
+    public ServerResponse getSingleStockConfig(@RequestParam("code") String code) {
+        return this.iStockService.getSingleStockConfig(code);
+    }
+}

+ 75 - 0
src/main/java/com/xc/controller/StockFuturesApiController.java

@@ -0,0 +1,75 @@
+package com.xc.controller;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.service.IStockFuturesService;
+
+import com.xc.vo.stockfutures.FuturesVO;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/api/futures/"})
+public class StockFuturesApiController {
+
+    private static final Logger log = LoggerFactory.getLogger(StockFuturesApiController.class);
+
+    @Autowired
+    IStockFuturesService iStockFuturesService;
+
+    //查询所有首页显示的期货信息
+    @RequestMapping({"queryHome.do"})
+    @ResponseBody
+    public ServerResponse queryHome() {
+        return this.iStockFuturesService.queryHome();
+    }
+
+
+    //查询所有列表显示的期货信息
+    @RequestMapping({"queryList.do"})
+    @ResponseBody
+    public ServerResponse queryList() {
+        return this.iStockFuturesService.queryList();
+    }
+
+    @RequestMapping({"queryTrans.do"})
+    @ResponseBody
+    public ServerResponse queryTrans(@RequestParam("futuresId") Integer futuresId) {
+        return this.iStockFuturesService.queryTrans(futuresId);
+    }
+
+    //查询汇率
+    @RequestMapping({"queryExchange.do"})
+    @ResponseBody
+    public ServerResponse queryExchange(@RequestParam("coinCode") String coinCode) {
+        return this.iStockFuturesService.getExchangeRate(coinCode);
+    }
+
+    //查询期货详情信息 (开盘价/收盘价/最高/最低等等。。。)
+    @RequestMapping({"querySingleMarket.do"})
+    @ResponseBody
+    public ServerResponse querySingleMarket(@RequestParam("futuresGid") String futuresGid) {
+        FuturesVO futuresVO = this.iStockFuturesService.querySingleMarket(futuresGid);
+        return ServerResponse.createBySuccess(futuresVO);
+    }
+    @RequestMapping({"querySinglefutures.do"})
+    @ResponseBody
+    public ServerResponse querySinglefutures(@RequestParam("futuresGid")String futuresGid){
+        FuturesVO futuresVO=this.iStockFuturesService.querySinglefutures(futuresGid);
+        return ServerResponse.createBySuccess(futuresVO);
+    }
+}

+ 54 - 0
src/main/java/com/xc/controller/StockIndexApiController.java

@@ -0,0 +1,54 @@
+package com.xc.controller;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IStockIndexService;
+import com.xc.vo.stock.MarketVO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/api/index/"})
+public class StockIndexApiController {
+    private static final Logger log = LoggerFactory.getLogger(StockIndexApiController.class);
+
+    @Autowired
+    IStockIndexService iStockIndexService;
+
+    //查询指数信息
+    @RequestMapping({"queryHomeIndex.do"})
+    @ResponseBody
+    public ServerResponse queryHomeIndex() {
+        return this.iStockIndexService.queryHomeIndex();
+    }
+
+    @RequestMapping({"queryListIndex.do"})
+    @ResponseBody
+    public ServerResponse queryListIndex() {
+        return this.iStockIndexService.queryListIndex();
+    }
+
+    @RequestMapping({"queryTransIndex.do"})
+    @ResponseBody
+    public ServerResponse queryTransIndex(@RequestParam("indexId") Integer indexId) {
+        return this.iStockIndexService.queryTransIndex(indexId);
+    }
+
+    @RequestMapping({"getSingleIndex.do"})
+    @ResponseBody
+    public ServerResponse getSingleIndex(@RequestParam("indexcode") String indexcode){
+        return this.iStockIndexService.queryByidIndex(indexcode);
+    }
+    @RequestMapping({"querySingleIndex.do"})
+    @ResponseBody
+    public ServerResponse querySingleIndex(@RequestParam("indexCode") String indexCode) {
+        MarketVO marketVO = this.iStockIndexService.querySingleIndex(indexCode);
+        return ServerResponse.createBySuccess(marketVO);
+    }
+}

+ 118 - 0
src/main/java/com/xc/controller/UserApiController.java

@@ -0,0 +1,118 @@
+package com.xc.controller;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.pojo.User;
+import com.xc.service.IUserService;
+
+import com.xc.utils.Md5Utils;
+import com.xc.utils.PropertiesUtil;
+
+import com.xc.utils.TokenUtils;
+import com.xc.utils.redis.CookieUtils;
+
+import com.xc.utils.redis.JsonUtil;
+
+import com.xc.utils.redis.RedisConst;
+
+import com.xc.utils.redis.RedisShardedPoolUtils;
+
+import com.xc.vo.user.UserLoginResultVO;
+
+import javax.servlet.http.HttpServletRequest;
+
+import javax.servlet.http.HttpServletResponse;
+
+import javax.servlet.http.HttpSession;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+import redis.clients.jedis.JedisCluster;
+
+import java.util.Date;
+
+
+@Controller
+@RequestMapping({"/api/user/"})
+public class UserApiController {
+    private static final Logger log = LoggerFactory.getLogger(UserApiController.class);
+
+    @Autowired
+    IUserService iUserService;
+
+    //注册
+    @RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST})
+    @ResponseBody
+    public ServerResponse reg(@RequestParam("agentCode") String agentCode, @RequestParam("phone") String phone, @RequestParam(value = "yzmCode", defaultValue = "") String yzmCode, @RequestParam("userPwd") String userPwd, HttpServletRequest httpServletRequest) {
+        return this.iUserService.reg(yzmCode, agentCode, phone, userPwd, httpServletRequest);
+}
+
+    //登录
+    @RequestMapping(value = {"login.do"}, method = {RequestMethod.POST})
+    @ResponseBody
+    public ServerResponse login(@RequestParam("phone") String phone, @RequestParam("userPwd") String userPwd, HttpServletRequest request, HttpServletResponse response) throws Exception {
+//        String pc_cookie_name = PropertiesUtil.getProperty("user.cookie.name");
+        ServerResponse serverResponse = this.iUserService.login(phone, userPwd, request);
+        if (serverResponse.isSuccess()) {
+//            CookieUtils.writeLoginToken(response, token, pc_cookie_name);
+//            String redisSetExResult = RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(serverResponse.getData()), 5400);
+//            Long a = RedisShardedPoolUtils.expire(token,10);
+//            System.out.println(a+"u1s1");
+//            log.info("redis setex user result : {}", redisSetExResult);
+            User user = (User) serverResponse.getData();
+//            String tokenKey = RedisConst.getTokenRedisKey(user.getId());
+            String token = TokenUtils.token(user.getPhone(), user.getUserPwd());
+            UserLoginResultVO resultVO = new UserLoginResultVO();
+//            resultVO.setKey(pc_cookie_name);
+            resultVO.setToken(token);
+            RedisShardedPoolUtils.setEx(token, JsonUtil.obj2String(serverResponse.getData()), 5400);
+            return ServerResponse.createBySuccess("登陆成功", resultVO);
+        }
+        return serverResponse;
+    }
+
+    //注销
+    @RequestMapping({"logout.do"})
+    @ResponseBody
+    public ServerResponse logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
+//        String cookie_name = PropertiesUtil.getProperty("user.cookie.name");
+//        String logintoken = CookieUtils.readLoginToken(httpServletRequest, cookie_name);
+//        log.info("用户 token = {} ,退出登陆", logintoken);
+//        CookieUtils.delLoginToken(httpServletRequest, httpServletResponse, cookie_name);
+        String token = httpServletRequest.getHeader("token");
+        RedisShardedPoolUtils.del(token);
+        return ServerResponse.createBySuccess();
+    }
+
+    //查询手机号是否存在
+    @RequestMapping({"checkPhone.do"})
+    @ResponseBody
+    public ServerResponse checkPhone(String phoneNum,@RequestParam(value = "num",defaultValue = "0")int num) {
+        return this.iUserService.checkPhone(phoneNum,num);
+    }
+
+
+    //找回密码
+    @RequestMapping({"updatePwd.do"})
+    @ResponseBody
+    public ServerResponse updatePwd(String phoneNum, String code, String newPwd) {
+        return this.iUserService.updatePwd(phoneNum, code, newPwd);
+    }
+
+
+}
+

+ 81 - 0
src/main/java/com/xc/controller/VerifyCodeController.java

@@ -0,0 +1,81 @@
+package com.xc.controller;
+
+import com.google.code.kaptcha.Producer;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+
+@Controller
+@RequestMapping({"/code/"})
+public class VerifyCodeController {
+    private static final Logger log = LoggerFactory.getLogger(VerifyCodeController.class);
+
+    @Autowired
+    private Producer captchaProducer;
+
+    @RequestMapping({"getCaptcha.do"})
+    public ModelAndView getCaptcha() {
+        ModelAndView mv = new ModelAndView();
+        mv.addObject("timestamp", Long.valueOf(System.currentTimeMillis()));
+        mv.setViewName("test/test_code");
+        return mv;
+    }
+
+    @RequestMapping({"getCode.do"})
+    public ModelAndView getCode(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "timestamp", required = false) String timestamp) throws IOException {
+        ModelAndView mv = new ModelAndView();
+        if (StringUtils.isEmpty(timestamp)) {
+            mv.addObject("timestamp", Long.valueOf(System.currentTimeMillis()));
+        } else {
+            mv.addObject("timestamp", timestamp);
+        }
+        response.setDateHeader("Expires", 0L);
+        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
+        response.addHeader("Cache-Control", "post-check=0, pre-check=0");
+        response.setHeader("Pragma", "no-cache");
+        response.setContentType("image/jpeg");
+        String capText = this.captchaProducer.createText();
+        HttpSession session = request.getSession();
+        session.removeAttribute("KAPTCHA_SESSION_KEY");
+        session.setAttribute("KAPTCHA_SESSION_KEY", capText);
+        BufferedImage bi = this.captchaProducer.createImage(capText);
+        ServletOutputStream out = response.getOutputStream();
+        ImageIO.write(bi, "jpg", out);
+        try {
+            out.flush();
+        } finally {
+            out.close();
+        }
+        return null;
+    }
+
+    //验证码
+    @RequestMapping({"checkCode.do"})
+    @ResponseBody
+    public String checkCode(@RequestParam(value = "timestamp", required = false) String timestamp, @RequestParam(value = "code", required = false) String code, HttpServletRequest request) {
+        boolean returnStr = false;
+        HttpSession session = request.getSession();
+        String original = (String) session.getAttribute("KAPTCHA_SESSION_KEY");
+        log.info("======用户输入的验证码:" + code);
+        log.info("======正确的验证码:" + original);
+        if (StringUtils.isNotEmpty(code) && code.equalsIgnoreCase(original)) {
+            returnStr = true;
+        }
+        return returnStr + "";
+    }
+}

+ 30 - 0
src/main/java/com/xc/controller/agent/AgentCashDetailController.java

@@ -0,0 +1,30 @@
+package com.xc.controller.agent;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IUserCashDetailService;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/agent/cash/"})
+public class AgentCashDetailController {
+    private static final Logger log = LoggerFactory.getLogger(AgentCashDetailController.class);
+    @Autowired
+    IUserCashDetailService iUserCashDetailService;
+
+    //分页查询所有资金明细信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(HttpServletRequest request, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "userId", required = false) Integer userId, @RequestParam(value = "userName", required = false) String userName, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionId", required = false) Integer positionId) {
+        return this.iUserCashDetailService.listByAgent(userId, userName, agentId, positionId, request, pageNum, pageSize);
+    }
+}

+ 105 - 0
src/main/java/com/xc/controller/agent/AgentController.java

@@ -0,0 +1,105 @@
+package com.xc.controller.agent;
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.AgentUser;
+import com.xc.service.IAgentUserService;
+import com.xc.service.IUserFuturesPositionService;
+import com.xc.service.IUserIndexPositionService;
+import com.xc.service.IUserPositionService;
+import com.xc.service.IUserService;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/agent/"})
+public class AgentController {
+    private static final Logger log = LoggerFactory.getLogger(AgentController.class);
+    @Autowired
+    IAgentUserService iAgentUserService;
+    @Autowired
+    IUserService iUserService;
+    @Autowired
+    IUserPositionService iUserPositionService;
+    @Autowired
+    IUserIndexPositionService iUserIndexPositionService;
+    @Autowired
+    IUserFuturesPositionService iUserFuturesPositionService;
+
+    //查询指定代理信息
+    @RequestMapping({"getAgentInfo.do"})
+    @ResponseBody
+    public ServerResponse getAgentInfo(HttpServletRequest request) {
+        return this.iAgentUserService.getAgentInfo(request);
+    }
+
+    //修改代理用户密码
+    @RequestMapping({"updatePwd.do"})
+    @ResponseBody
+    public ServerResponse updatePwd(@RequestParam("oldPwd") String oldPwd, @RequestParam("newPwd") String newPwd, HttpServletRequest request) {
+        return this.iAgentUserService.updatePwd(oldPwd, newPwd, request);
+    }
+
+
+    //添加代理用户
+    @RequestMapping({"addAgent.do"})
+    @ResponseBody
+    public ServerResponse addAgent(HttpServletRequest request, @RequestParam("agentName") String agentName, @RequestParam("agentPwd") String agentPwd, @RequestParam("agentPhone") String agentPhone, @RequestParam("agentRealName") String agentRealName) {
+        return this.iAgentUserService.addAgentUser(agentName, agentPwd, agentRealName, agentPhone, request);
+    }
+
+    //查询所有代理信息
+    @RequestMapping({"getSecondAgent.do"})
+    @ResponseBody
+    public ServerResponse getSecondAgent(HttpServletRequest request) {
+        return this.iAgentUserService.getSecondAgent(request);
+    }
+
+    //添加用户管理 账户信息
+    @RequestMapping({"addSimulatedAccount.do"})
+    @ResponseBody
+    public ServerResponse addSimulatedAccount(HttpServletRequest request, @RequestParam("phone") String phone, @RequestParam("amt") String amt, @RequestParam("accountType") Integer accountType, @RequestParam("pwd") String pwd) {
+        AgentUser agentUser = this.iAgentUserService.getCurrentAgent(request);
+        return this.iUserService.addSimulatedAccount(agentUser.getId(), phone, pwd, amt, accountType, false);
+    }
+
+    //查询指数统计指定时间内,代理客户(已平仓)的交易盈亏
+    @RequestMapping({"getIncome.do"})
+    @ResponseBody
+    public ServerResponse getIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
+        if (agentId == null) {
+            AgentUser agentUser = this.iAgentUserService.getCurrentAgent(request);
+            agentId = agentUser.getId();
+        }
+        return this.iUserPositionService.getIncome(agentId, positionType, beginTime, endTime);
+    }
+
+    //查询指数统计指定时间内,代理客户(已平仓)的交易盈亏
+    @RequestMapping({"getIndexIncome.do"})
+    @ResponseBody
+    public ServerResponse getIndexIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
+        if (agentId == null) {
+            AgentUser agentUser = this.iAgentUserService.getCurrentAgent(request);
+            agentId = agentUser.getId();
+        }
+        return this.iUserIndexPositionService.getIndexIncome(agentId, positionType, beginTime, endTime);
+    }
+
+    //查询期货统计指定时间内,代理客户(已平仓)的交易盈亏
+    @RequestMapping({"getFuturesIncome.do"})
+    @ResponseBody
+    public ServerResponse getFuturesIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
+        if (agentId == null) {
+            AgentUser agentUser = this.iAgentUserService.getCurrentAgent(request);
+            agentId = agentUser.getId();
+        }
+        return this.iUserFuturesPositionService.getFuturesIncome(agentId, positionType, beginTime, endTime);
+    }
+}

Разница между файлами не показана из-за своего большого размера
+ 28 - 0
src/main/java/com/xc/controller/agent/AgentFuturesPositionController.java


Разница между файлами не показана из-за своего большого размера
+ 31 - 0
src/main/java/com/xc/controller/agent/AgentIndexPositionController.java


Разница между файлами не показана из-за своего большого размера
+ 43 - 0
src/main/java/com/xc/controller/agent/AgentPositionController.java


+ 42 - 0
src/main/java/com/xc/controller/agent/AgentRechargeController.java

@@ -0,0 +1,42 @@
+package com.xc.controller.agent;
+
+
+import com.github.pagehelper.PageInfo;
+
+import com.xc.common.ServerResponse;
+
+import com.xc.service.IUserRechargeService;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/agent/recharge/"})
+public class AgentRechargeController {
+
+    private static final Logger log = LoggerFactory.getLogger(AgentRechargeController.class);
+
+    @Autowired
+    IUserRechargeService iUserRechargeService;
+
+    //分页查询入金记录信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse<PageInfo> list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "payChannel", required = false) String payChannel, @RequestParam(value = "state", required = false) Integer state, @RequestParam(value = "agentId", required = false) Integer agentId, HttpServletRequest request) {
+        return this.iUserRechargeService.listByAgent(agentId, realName, payChannel, state, request, pageNum, pageSize);
+    }
+}

+ 45 - 0
src/main/java/com/xc/controller/agent/AgentUserController.java

@@ -0,0 +1,45 @@
+package com.xc.controller.agent;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IAgentUserService;
+import com.xc.service.IUserService;
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/agent/user/"})
+public class AgentUserController {
+    private static final Logger log = LoggerFactory.getLogger(AgentUserController.class);
+
+    @Autowired
+    IUserService iUserService;
+
+    @Autowired
+    IAgentUserService iAgentUserService;
+
+    //分页查询用户管理信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "accountType", required = false) Integer accountType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "12") int pageSize, HttpServletRequest request) {
+        return this.iUserService.listByAgent(realName, phone, agentId, accountType, pageNum, pageSize, request);
+    }
+
+    //分页查询用户管理信息及模糊查询
+    @RequestMapping({"getAgentList.do"})
+    @ResponseBody
+    public ServerResponse getAgentList(@RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "accountType", required = false) Integer accountType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "12") int pageSize, HttpServletRequest request) {
+        return this.iUserService.getAgentList(realName, phone, agentId, accountType, pageNum, pageSize, request);
+    }
+    @RequestMapping({"user.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "agentId", required = false)Integer agentId) {
+        return this.iUserService.listByAgentuser(agentId);
+    }
+}

+ 41 - 0
src/main/java/com/xc/controller/agent/AgentWithdrawController.java

@@ -0,0 +1,41 @@
+package com.xc.controller.agent;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.service.IUserWithdrawService;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/agent/withdraw/"})
+public class AgentWithdrawController {
+
+    private static final Logger log = LoggerFactory.getLogger(AgentWithdrawController.class);
+
+    @Autowired
+    IUserWithdrawService iUserWithdrawService;
+
+
+    //分页查询所有出金记录信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "8") int pageSize, @RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "state", required = false) Integer state, @RequestParam(value = "agentId", required = false) Integer agentId, HttpServletRequest request) {
+        return this.iUserWithdrawService.listByAgent(agentId, realName, state, request, pageNum, pageSize);
+    }
+}

+ 81 - 0
src/main/java/com/xc/controller/backend/AdminAgentController.java

@@ -0,0 +1,81 @@
+package com.xc.controller.backend;
+
+
+import com.github.pagehelper.PageInfo;
+import com.xc.common.ServerResponse;
+import com.xc.pojo.AgentUser;
+import com.xc.service.IAgentUserService;
+import com.xc.service.IUserFuturesPositionService;
+import com.xc.service.IUserIndexPositionService;
+import com.xc.service.IUserPositionService;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/agent/"})
+public class AdminAgentController {
+    private static final Logger log = LoggerFactory.getLogger(AdminAgentController.class);
+
+    @Autowired
+    IAgentUserService iAgentUserService;
+
+    @Autowired
+    IUserPositionService iUserPositionService;
+
+    @Autowired
+    IUserIndexPositionService iUserIndexPositionService;
+
+    @Autowired
+    IUserFuturesPositionService iUserFuturesPositionService;
+
+    //分页查询代理管理 所有代理信息 及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "id",required = false)Integer id, @RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "12") int pageSize, HttpServletRequest request) {
+        return this.iAgentUserService.listByAdmin(id,realName, phone, pageNum, pageSize, request);
+    }
+
+    //添加代理管理 下级代理
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(AgentUser agentUser) {
+        return this.iAgentUserService.add(agentUser);
+    }
+
+    //修改代理管理 代理信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(AgentUser agentUser) {
+        return this.iAgentUserService.update(agentUser);
+    }
+
+    //查询指数持仓统计信息
+    @RequestMapping({"getIncome.do"})
+    @ResponseBody
+    public ServerResponse getIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
+        return this.iUserPositionService.getIncome(agentId, positionType, beginTime, endTime);
+    }
+
+    //查询指数持仓统计信息
+    @RequestMapping({"getIndexIncome.do"})
+    @ResponseBody
+    public ServerResponse getIndexIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
+        return this.iUserIndexPositionService.getIndexIncome(agentId, positionType, beginTime, endTime);
+    }
+
+    //查询期货持仓统计信息
+    @RequestMapping({"getFuturesIncome.do"})
+    @ResponseBody
+    public ServerResponse getFuturesIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
+        return this.iUserFuturesPositionService.getFuturesIncome(agentId, positionType, beginTime, endTime);
+    }
+}

+ 29 - 0
src/main/java/com/xc/controller/backend/AdminCashDetailController.java

@@ -0,0 +1,29 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IUserCashDetailService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/cash/"})
+public class AdminCashDetailController {
+    private static final Logger log = LoggerFactory.getLogger(AdminCashDetailController.class);
+
+    @Autowired
+    IUserCashDetailService iUserCashDetailService;
+
+    //分页查询资金管理 所有资金记录信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "userId", required = false) Integer userId, @RequestParam(value = "userName", required = false) String userName, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionId", required = false) Integer positionId, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iUserCashDetailService.listByAdmin(userId, userName, agentId, positionId, pageNum, pageSize);
+    }
+}

+ 121 - 0
src/main/java/com/xc/controller/backend/AdminController.java

@@ -0,0 +1,121 @@
+package com.xc.controller.backend;
+
+
+import com.github.pagehelper.PageInfo;
+
+import com.google.common.collect.Maps;
+
+import com.xc.common.ServerResponse;
+
+import com.xc.pojo.SiteAdmin;
+
+import com.xc.service.IFileUploadService;
+
+import com.xc.service.ISiteAdminService;
+
+import com.xc.utils.PropertiesUtil;
+
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import javax.servlet.http.HttpSession;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import org.springframework.web.multipart.MultipartFile;
+
+
+@Controller
+@RequestMapping({"/admin/"})
+public class AdminController {
+
+    private static final Logger log = LoggerFactory.getLogger(AdminController.class);
+
+
+    @Autowired
+    ISiteAdminService iSiteAdminService;
+
+
+    @Autowired
+    IFileUploadService iFileUploadService;
+
+    //分页查询管理设置 所有管理列表数据及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse<PageInfo> list(@RequestParam(value = "adminName", required = false) String adminName, @RequestParam(value = "adminPhone", required = false) String adminPhone, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) {
+        return this.iSiteAdminService.listByAdmin(adminName, adminPhone, request, pageNum, pageSize);
+    }
+
+    //修改管理员状态 锁定管理员/解锁管理员
+    @RequestMapping({"updateLock.do"})
+    @ResponseBody
+    public ServerResponse updateLock(Integer adminId) {
+        return this.iSiteAdminService.updateLock(adminId);
+    }
+
+    //管理设置 添加管理员
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(SiteAdmin siteAdmin) {
+        return this.iSiteAdminService.add(siteAdmin);
+    }
+
+    //管理设置 修改管理员密码
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(SiteAdmin siteAdmin) {
+        return this.iSiteAdminService.update(siteAdmin);
+    }
+
+    //查询首页 资金情况、持仓情况、盈亏信息、提现情况、指数信息、代理信息
+    @RequestMapping({"count.do"})
+    @ResponseBody
+    public ServerResponse count() {
+        return this.iSiteAdminService.count();
+    }
+
+    //处理图片上传
+    @RequestMapping({"upload.do"})
+    @ResponseBody
+    public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest request) {
+
+        String path = request.getSession().getServletContext().getRealPath("upload");
+
+        ServerResponse serverResponse = this.iFileUploadService.upload(file, path);
+
+        if (serverResponse.isSuccess()) {
+
+            String targetFileName = serverResponse.getData().toString();
+
+            String url = PropertiesUtil.getProperty("ftp.server.http.prefix") + targetFileName;
+
+
+            Map fileMap = Maps.newHashMap();
+
+            fileMap.put("uri", targetFileName);
+
+            fileMap.put("url", url);
+
+
+            return ServerResponse.createBySuccess(fileMap);
+
+        }
+
+        return serverResponse;
+
+    }
+
+}

Разница между файлами не показана из-за своего большого размера
+ 55 - 0
src/main/java/com/xc/controller/backend/AdminFuturesPositionController.java


Разница между файлами не показана из-за своего большого размера
+ 65 - 0
src/main/java/com/xc/controller/backend/AdminIndexPositionController.java


+ 74 - 0
src/main/java/com/xc/controller/backend/AdminLogsController.java

@@ -0,0 +1,74 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.service.ISiteAmtTransLogService;
+
+import com.xc.service.ISiteLoginLogService;
+
+import com.xc.service.ISiteSmsLogService;
+
+import com.xc.service.ISiteTaskLogService;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/log/"})
+public class AdminLogsController {
+    private static final Logger log = LoggerFactory.getLogger(AdminLogsController.class);
+
+    @Autowired
+    ISiteLoginLogService iSiteLoginLogService;
+
+    @Autowired
+    ISiteTaskLogService iSiteTaskLogService;
+
+    @Autowired
+    ISiteSmsLogService iSiteSmsLogService;
+
+    @Autowired
+    ISiteAmtTransLogService iSiteAmtTransLogService;
+
+    //分页查询日志管理 所有定时任务信息及模糊查询
+    @RequestMapping({"taskList.do"})
+    @ResponseBody
+    public ServerResponse taskList(@RequestParam(value = "taskType", required = false) String taskType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSiteTaskLogService.taskList(taskType, pageNum, pageSize);
+    }
+
+    //分页查询日志管理 所有登陆日志信息
+    @RequestMapping({"loginList.do"})
+    @ResponseBody
+    public ServerResponse loginList(@RequestParam(value = "userId", required = false) Integer userId, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSiteLoginLogService.loginList(userId, pageNum, pageSize);
+    }
+
+    //分页查询日志管理 所有短信日志信息
+    @RequestMapping({"smsList.do"})
+    @ResponseBody
+    public ServerResponse smsList(@RequestParam(value = "phoneNum", required = false) String phoneNum, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSiteSmsLogService.smsList(phoneNum, pageNum, pageSize);
+    }
+
+    //分页查询日志管理 所有资金互转记录信息及模糊查询
+    @RequestMapping({"transList.do"})
+    @ResponseBody
+    public ServerResponse transList(@RequestParam(value = "userId", required = false) Integer userId, @RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSiteAmtTransLogService.transList(userId, realName, pageNum, pageSize);
+    }
+}
+

+ 81 - 0
src/main/java/com/xc/controller/backend/AdminPositionController.java

@@ -0,0 +1,81 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+
+import com.xc.service.IUserPositionService;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.math.BigDecimal;
+
+
+@Controller
+@RequestMapping({"/admin/position/"})
+public class AdminPositionController {
+    private static final Logger log = LoggerFactory.getLogger(AdminPositionController.class);
+
+    @Autowired
+    IUserPositionService iUserPositionService;
+
+    //分页查询持仓管理 融资持仓单信息/融资平仓单信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "agentId", required = false) Integer agentId,
+                               @RequestParam(value = "positionType", required = false) Integer positionType,
+                               @RequestParam(value = "state", required = false) Integer state,
+                               @RequestParam(value = "userId", required = false) Integer userId,
+                               @RequestParam(value = "positionSn", required = false) String positionSn,
+                               @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "12") int pageSize, HttpServletRequest request) {
+        return this.iUserPositionService.listByAdmin(agentId, positionType, state, userId, positionSn, beginTime, endTime, pageNum, pageSize);
+    }
+
+    //持仓管理 强制平仓操作
+    @RequestMapping({"sell.do"})
+    @ResponseBody
+    public ServerResponse sell(String positionSn) throws Exception {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserPositionService.sell(positionSn, 0);
+        } catch (Exception e) {
+            log.error("强制平仓 异常信息 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    //锁仓/解仓操作
+    @RequestMapping({"lock.do"})
+    @ResponseBody
+    public ServerResponse lock(@RequestParam("positionId") Integer positionId, @RequestParam("state") Integer state, @RequestParam(value = "lockMsg", required = false) String lockMsg) {
+        return this.iUserPositionService.lock(positionId, state, lockMsg);
+    }
+
+    @RequestMapping({"del.do"})
+    @ResponseBody
+    public ServerResponse del(@RequestParam("positionId") Integer positionId) {
+        return this.iUserPositionService.del(positionId);
+    }
+
+    //创建持仓单
+    @RequestMapping({"create.do"})
+    @ResponseBody
+    public ServerResponse create(@RequestParam("userId") Integer userId, @RequestParam("stockCode") String stockCode, @RequestParam("buyPrice") String buyPrice, @RequestParam("buyTime") String buyTime, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, @RequestParam("lever") BigDecimal lever) {
+        return this.iUserPositionService.create(userId, stockCode, buyPrice, buyTime, buyNum, buyType, lever);
+    }
+
+}
+

Разница между файлами не показана из-за своего большого размера
+ 68 - 0
src/main/java/com/xc/controller/backend/AdminRechargeController.java


+ 50 - 0
src/main/java/com/xc/controller/backend/AdminSiteArticleController.java

@@ -0,0 +1,50 @@
+package com.xc.controller.backend;
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.SiteArticle;
+import com.xc.service.ISiteArticleService;
+import javax.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/admin/art/"})
+public class AdminSiteArticleController {
+    private static final Logger log = LoggerFactory.getLogger(AdminSiteArticleController.class);
+
+    @Autowired
+    ISiteArticleService iSiteArticleService;
+
+    //查询系统基本设置 所有公告设置信息
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "artTitle", required = false) String artTitle, @RequestParam(value = "artType", required = false) String artType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "12") int pageSize, HttpServletRequest request) {
+        return this.iSiteArticleService.listByAdmin(artTitle, artType, pageNum, pageSize);
+    }
+
+    //添加系统基本设置 公共信息
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(SiteArticle siteArticle) {
+        return this.iSiteArticleService.add(siteArticle);
+    }
+
+    //修改系统基本设置 公共信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(SiteArticle siteArticle) {
+        return this.iSiteArticleService.update(siteArticle);
+    }
+
+    //查看指定系统基本设置 公共信息
+    @RequestMapping({"detail.do"})
+    @ResponseBody
+    public ServerResponse detail(Integer artId) {
+        return this.iSiteArticleService.detail(artId);
+    }
+}

+ 51 - 0
src/main/java/com/xc/controller/backend/AdminSiteBannerController.java

@@ -0,0 +1,51 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.SiteBanner;
+import com.xc.service.ISiteBannerService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/banners/"})
+public class AdminSiteBannerController {
+    private static final Logger log = LoggerFactory.getLogger(AdminSiteBannerController.class);
+
+    @Autowired
+    ISiteBannerService iSiteBannerService;
+
+    //添加系统基本设置  banner设置信息
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(SiteBanner siteBanner) {
+        return this.iSiteBannerService.add(siteBanner);
+    }
+
+    //修改系统基本设置  banner设置信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(SiteBanner siteBanner) {
+        return this.iSiteBannerService.update(siteBanner);
+    }
+
+    //删除系统基本设置  banner设置信息
+    @RequestMapping({"delete.do"})
+    @ResponseBody
+    public ServerResponse delete(Integer id) {
+        return this.iSiteBannerService.delete(id);
+    }
+
+    //查询系统基本设置 banner设置信息
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSiteBannerService.listByAdmin(pageNum, pageSize);
+    }
+}

+ 35 - 0
src/main/java/com/xc/controller/backend/AdminSiteFuturesSettingController.java

@@ -0,0 +1,35 @@
+package com.xc.controller.backend;
+
+ import com.xc.common.ServerResponse;
+
+ import com.xc.pojo.SiteFuturesSetting;
+
+ import com.xc.service.ISiteFuturesSettingService;
+
+ import org.slf4j.Logger;
+
+ import org.slf4j.LoggerFactory;
+
+ import org.springframework.beans.factory.annotation.Autowired;
+
+ import org.springframework.stereotype.Controller;
+
+ import org.springframework.web.bind.annotation.RequestMapping;
+
+ import org.springframework.web.bind.annotation.ResponseBody;
+
+ @Controller
+ @RequestMapping({"/admin/site/futures/"})
+ public class AdminSiteFuturesSettingController {
+   private static final Logger log = LoggerFactory.getLogger(AdminSiteFuturesSettingController.class);
+
+   @Autowired
+   ISiteFuturesSettingService iSiteFuturesSettingService;
+
+   //修改风控设置 期货风控信息
+   @RequestMapping({"update.do"})
+   @ResponseBody
+   public ServerResponse update(SiteFuturesSetting siteFuturesSetting) {
+       return this.iSiteFuturesSettingService.update(siteFuturesSetting);
+   }
+ }

+ 28 - 0
src/main/java/com/xc/controller/backend/AdminSiteIndexSettingController.java

@@ -0,0 +1,28 @@
+package com.xc.controller.backend;
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.SiteIndexSetting;
+import com.xc.service.ISiteIndexSettingService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/site/index/"})
+public class AdminSiteIndexSettingController {
+    private static final Logger log = LoggerFactory.getLogger(AdminSiteIndexSettingController.class);
+
+    @Autowired
+    ISiteIndexSettingService iSiteIndexSettingService;
+
+    //修改风控设置 指数风控信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(SiteIndexSetting siteIndexSetting) {
+        return this.iSiteIndexSettingService.update(siteIndexSetting);
+    }
+}

+ 53 - 0
src/main/java/com/xc/controller/backend/AdminSiteInfoController.java

@@ -0,0 +1,53 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.SiteInfo;
+import com.xc.service.ISiteBannerService;
+import com.xc.service.ISiteInfoService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/info/"})
+public class AdminSiteInfoController {
+    private static final Logger log = LoggerFactory.getLogger(AdminSiteInfoController.class);
+
+    @Autowired
+    ISiteInfoService iSiteInfoService;
+
+    @Autowired
+    ISiteBannerService iSiteBannerService;
+
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(SiteInfo siteInfo) {
+        return this.iSiteInfoService.add(siteInfo);
+    }
+
+    //修改系统基本设置信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(SiteInfo siteInfo) {
+        return this.iSiteInfoService.update(siteInfo);
+    }
+
+    @RequestMapping({"get.do"})
+    @ResponseBody
+    public ServerResponse get() {
+        return this.iSiteInfoService.get();
+    }
+
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSiteBannerService.listByAdmin(pageNum, pageSize);
+    }
+}
+

+ 52 - 0
src/main/java/com/xc/controller/backend/AdminSitePayController.java

@@ -0,0 +1,52 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.SitePay;
+import com.xc.service.ISitePayService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/pay/"})
+public class AdminSitePayController {
+    private static final Logger log = LoggerFactory.getLogger(AdminSitePayController.class);
+
+    @Autowired
+    ISitePayService iSitePayService;
+
+    //添加系统基本设置 支付渠道设置信息
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(SitePay sitePay) {
+        return this.iSitePayService.add(sitePay);
+    }
+
+    //修改系统基本设置 支付渠道设置信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(SitePay sitePay) {
+        return this.iSitePayService.update(sitePay);
+    }
+
+    //分页查询系统基本设置 支付渠道设置信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam("channelType") String channelType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iSitePayService.listByAdmin(channelType, pageNum, pageSize);
+    }
+
+    //删除系统基本设置 支付渠道设置信息
+    @RequestMapping({"del.do"})
+    @ResponseBody
+    public ServerResponse del(@RequestParam("cId") Integer cId) {
+        return this.iSitePayService.del(cId);
+    }
+
+}

+ 29 - 0
src/main/java/com/xc/controller/backend/AdminSiteProductController.java

@@ -0,0 +1,29 @@
+ package com.xc.controller.backend;
+
+
+ import com.xc.common.ServerResponse;
+ import com.xc.pojo.SiteProduct;
+ import com.xc.service.ISiteProductService;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import org.springframework.beans.factory.annotation.Autowired;
+ import org.springframework.stereotype.Controller;
+ import org.springframework.web.bind.annotation.RequestMapping;
+ import org.springframework.web.bind.annotation.ResponseBody;
+
+
+ @Controller
+ @RequestMapping({"/admin/product/"})
+ public class AdminSiteProductController {
+     private static final Logger log = LoggerFactory.getLogger(AdminSiteProductController.class);
+
+     @Autowired
+     ISiteProductService iSiteProductService;
+
+     //风控设置 修改产品配置信息
+     @RequestMapping({"update.do"})
+     @ResponseBody
+     public ServerResponse update(SiteProduct siteProduct) {
+         return this.iSiteProductService.update(siteProduct);
+     }
+ }

+ 29 - 0
src/main/java/com/xc/controller/backend/AdminSiteSettingController.java

@@ -0,0 +1,29 @@
+ package com.xc.controller.backend;
+
+
+ import com.xc.common.ServerResponse;
+ import com.xc.pojo.SiteSetting;
+ import com.xc.service.ISiteSettingService;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import org.springframework.beans.factory.annotation.Autowired;
+ import org.springframework.stereotype.Controller;
+ import org.springframework.web.bind.annotation.RequestMapping;
+ import org.springframework.web.bind.annotation.ResponseBody;
+
+
+ @Controller
+ @RequestMapping({"/admin/set/"})
+ public class AdminSiteSettingController {
+     private static final Logger log = LoggerFactory.getLogger(AdminSiteSettingController.class);
+
+     @Autowired
+     ISiteSettingService iSiteSettingService;
+
+     //修改风控设置 指数风控信息
+     @RequestMapping({"update.do"})
+     @ResponseBody
+     public ServerResponse update(SiteSetting siteSetting) {
+         return this.iSiteSettingService.update(siteSetting);
+     }
+ }

+ 59 - 0
src/main/java/com/xc/controller/backend/AdminStockCoinController.java

@@ -0,0 +1,59 @@
+package com.xc.controller.backend;
+
+import com.xc.common.ServerResponse;
+
+import com.xc.pojo.StockCoin;
+
+import com.xc.service.IStockCoinService;
+
+import org.slf4j.Logger;
+
+import org.slf4j.LoggerFactory;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/coin/"})
+public class AdminStockCoinController {
+    private static final Logger log = LoggerFactory.getLogger(AdminStockCoinController.class);
+
+    @Autowired
+    IStockCoinService iStockCoinService;
+
+    //分页查询基币管理 基币信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "coinName", required = false) String coinName, @RequestParam(value = "coinCode", required = false) String coinCode, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return this.iStockCoinService.listByAdmin(coinName, coinCode, pageNum, pageSize);
+    }
+
+    //添加基币管理 基币信息
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(StockCoin stockCoin) {
+        return this.iStockCoinService.add(stockCoin);
+    }
+
+    //修改基币管理 基币信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(StockCoin stockCoin) {
+        return this.iStockCoinService.update(stockCoin);
+    }
+
+    //查询指定基币信息
+    @RequestMapping({"getSelectCoin.do"})
+    @ResponseBody
+    public ServerResponse getSelectCoin() {
+        return ServerResponse.createBySuccess(this.iStockCoinService.getSelectCoin());
+    }
+}

Разница между файлами не показана из-за своего большого размера
+ 70 - 0
src/main/java/com/xc/controller/backend/AdminStockController.java


+ 66 - 0
src/main/java/com/xc/controller/backend/AdminStockFuturesController.java

@@ -0,0 +1,66 @@
+package com.xc.controller.backend;
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.StockFutures;
+import com.xc.service.IStockFuturesService;
+import com.xc.service.IUserFuturesPositionService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/admin/futures/"})
+public class AdminStockFuturesController {
+    private static final Logger log = LoggerFactory.getLogger(AdminStockFuturesController.class);
+
+    @Autowired
+    IStockFuturesService iStockFuturesService;
+
+    @Autowired
+    IUserFuturesPositionService iUserFuturesPositionService;
+
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "listShow")Integer listShow,@RequestParam(value = "transState")Integer transState,@RequestParam(value = "futuresName", required = false) String futuresName, @RequestParam(value = "futuresCode", required = false) String futuresCode, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        System.out.println(listShow+"cnm");
+        return this.iStockFuturesService.listByAdmin(listShow,transState,futuresName, futuresCode,pageNum, pageSize);
+    }
+
+    //添加期货产品
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(StockFutures stockFutures) {
+        return this.iStockFuturesService.add(stockFutures);
+    }
+
+    //修改期货产品
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(StockFutures stockFutures) {
+        return this.iStockFuturesService.update(stockFutures);
+    }
+
+    @RequestMapping({"sell.do"})
+    @ResponseBody
+    public ServerResponse sell(String positionSn) throws Exception {
+        ServerResponse serverResponse = null;
+
+        try {
+            serverResponse = this.iUserFuturesPositionService.sellFutures(positionSn, 0);
+        } catch (Exception e) {
+            log.error("强制平仓 异常信息 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    @RequestMapping({"lock.do"})
+    @ResponseBody
+    public ServerResponse lock(@RequestParam("positionId") Integer positionId, @RequestParam("state") Integer state, @RequestParam(value = "lockMsg", required = false) String lockMsg) {
+        return this.iUserFuturesPositionService.lock(positionId, state, lockMsg);
+    }
+}

Разница между файлами не показана из-за своего большого размера
+ 45 - 0
src/main/java/com/xc/controller/backend/AdminStockIndexController.java


+ 99 - 0
src/main/java/com/xc/controller/backend/AdminUserController.java

@@ -0,0 +1,99 @@
+package com.xc.controller.backend;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.User;
+import com.xc.pojo.UserBank;
+import com.xc.service.IUserBankService;
+import com.xc.service.IUserService;
+import javax.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.math.BigDecimal;
+
+
+@Controller
+@RequestMapping({"/admin/user/"})
+public class AdminUserController {
+    private static final Logger log = LoggerFactory.getLogger(AdminUserController.class);
+
+    @Autowired
+    IUserService iUserService;
+
+    @Autowired
+    IUserBankService iUserBankService;
+
+    //分页查询所有用户列表信息 及模糊查询用户信息
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "accountType", required = false) Integer accountType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) {
+        return this.iUserService.listByAdmin(realName, phone, agentId, accountType, pageNum, pageSize, request);
+    }
+
+    //查询用户信息是否存在
+    @RequestMapping({"detail.do"})
+    @ResponseBody
+    public ServerResponse detail(Integer userId) {
+        return this.iUserService.findByUserId(userId);
+    }
+
+    @RequestMapping({"updateLock.do"})
+    @ResponseBody
+    public ServerResponse updateLock(Integer userId) {
+        return this.iUserService.updateLock(userId);
+    }
+
+    //修改用户列表 用户资金入款/扣款
+    @RequestMapping({"updateAmt.do"})
+    @ResponseBody
+    public ServerResponse updateAmt(Integer userId, BigDecimal amt, Integer direction, String info) {
+        return this.iUserService.updateAmt(userId, amt, direction,info);
+    }
+
+    //修改用户列表 用户信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(User user) {
+        return this.iUserService.update(user);
+    }
+
+    //修改用户列表 银行卡信息
+    @RequestMapping({"updateBank.do"})
+    @ResponseBody
+    public ServerResponse updateBank(UserBank userBank) {
+        return this.iUserBankService.updateBankByAdmin(userBank);
+    }
+
+    //添加用户列表 用户信息
+    @RequestMapping({"addSimulatedAccount.do"})
+    @ResponseBody
+    public ServerResponse addSimulatedAccount(HttpServletRequest request, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam("phone") String phone, @RequestParam("amt") String amt, @RequestParam("accountType") Integer accountType, @RequestParam("pwd") String pwd) {
+        return this.iUserService.addSimulatedAccount(agentId, phone, pwd, amt, accountType, true);
+    }
+
+    @RequestMapping({"authByAdmin.do"})
+    @ResponseBody
+    public ServerResponse authByAdmin(Integer userId, Integer state, String authMsg) {
+        return this.iUserService.authByAdmin(userId, state, authMsg);
+    }
+
+    //查看指定 用户列表的用户信息
+    @RequestMapping({"getBank.do"})
+    @ResponseBody
+    public ServerResponse getBank(Integer userId) {
+        return this.iUserBankService.getBank(userId);
+    }
+
+    //删除用户列表 用户信息
+    @RequestMapping({"delete.do"})
+    @ResponseBody
+    public ServerResponse delete(Integer userId, HttpServletRequest request) {
+        return this.iUserService.delete(userId, request);
+    }
+}

Разница между файлами не показана из-за своего большого размера
+ 43 - 0
src/main/java/com/xc/controller/backend/AdminWithDrawController.java


+ 20 - 0
src/main/java/com/xc/controller/coin/CoinApiController.java

@@ -0,0 +1,20 @@
+package com.xc.controller.coin;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IStockCoinService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping({"/api/coin/"})
+public class CoinApiController {
+    @Autowired
+    IStockCoinService iStockCoinService;
+    //查询指定基币信息
+    @RequestMapping({"getSelectCoin.do"})
+    public ServerResponse getSelectCoin() {
+        return ServerResponse.createBySuccess(this.iStockCoinService.getSelectCoin());
+    }
+}

+ 170 - 0
src/main/java/com/xc/controller/index/IndexApiController.java

@@ -0,0 +1,170 @@
+package com.xc.controller.index;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.xc.common.ServerResponse;
+import com.xc.pojo.HistoryIndex;
+import com.xc.pojo.Quote;
+import com.xc.service.IndexApiService;
+import com.xc.utils.enumUtil.IndexEnum;
+import com.xc.vo.index.*;
+import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 指数
+ */
+@Controller
+@RequestMapping({"/api/index/"})
+public class IndexApiController {
+
+    private static final Logger log = LoggerFactory.getLogger(IndexApiController.class);
+
+    @Autowired
+    private IndexApiService indexApiService;
+
+    // 获取Datafeed 配置数据
+    @RequestMapping({"getConfig.do"})
+    @ResponseBody
+    public Object getConfig() {
+        IndexConfigVo indexConfigVo = indexApiService.getConfig();
+        return indexConfigVo;
+    }
+
+
+    // 获取商品集合信息
+    @RequestMapping({"getSymbolInfo.do"})
+    @ResponseBody
+    public Object getSymbolInfo() {
+        SymbolInfoVo symbolInfoVo = indexApiService.getSymbolInfo();
+        return symbolInfoVo;
+    }
+
+    // 获取商品解析
+    @RequestMapping({"getSymbols.do"})
+    @ResponseBody
+    public Object getSymbols(@RequestParam String symbol) {
+        SymbolVo symbolVo = indexApiService.getSymbols(symbol);
+        return symbolVo;
+    }
+
+    @RequestMapping(value = {"getHistory.do"}, method = RequestMethod.GET)
+    @ResponseBody
+    public Object getHistory(@RequestParam String symbol,
+                             @RequestParam String resolution,
+                             @RequestParam Long from,
+                             @RequestParam Long to) {
+        HistoryIndex historyIndex = indexApiService.getHistoryNew(symbol, resolution, from, to);
+        return historyIndex;
+    }
+
+    @RequestMapping(value = {"getHistoryNew.do"}, method = RequestMethod.GET)
+    @ResponseBody
+    public Object getHistoryNew(@RequestParam String symbol,
+                                @RequestParam String resolution,
+                                @RequestParam Long from,
+                                @RequestParam Long to) {
+        HistoryIndex historyIndex = indexApiService.getHistoryNew(symbol, resolution, from, to);
+        return ServerResponse.createBySuccess(historyIndex);
+    }
+
+    //获取服务器时间
+    @RequestMapping({"getTime.do"})
+    @ResponseBody
+    public Object getTime() {
+        return System.currentTimeMillis() / 1000;
+    }
+
+
+    @RequestMapping({"getSearch.do"})
+    @ResponseBody
+    public Object getSearch(@RequestParam String query,
+                            @RequestParam String exchange,
+                            @RequestParam String type,
+                            @RequestParam Long limit) {
+
+        List<SymbolVo> symbolVos = new ArrayList<>();
+        SymbolVo symbolVo = new SymbolVo();
+        symbolVo.setSymbol(IndexEnum.getDbNameByCode(query));
+        symbolVo.setFull_name(String.format("NYSE:%s", IndexEnum.getDbNameByCode(query)));
+        symbolVo.setExchange("NYSE");
+        symbolVo.setTicker("");
+        symbolVos.add(symbolVo);
+        return symbolVos;
+    }
+
+
+    @RequestMapping({"getMarks.do"})
+    @ResponseBody
+    public Object getMarks(@RequestParam String symbol,
+                           @RequestParam Long from,
+                           @RequestParam Long to,
+                           @RequestParam String resolution) {
+        MarksVO marksVO = new MarksVO();
+        marksVO.setId(new Integer[]{0, 1, 2, 3, 4, 5});
+        marksVO.setColor(new String[]{"red", "blue", "green", "red", "blue", "green"});
+        marksVO.setLabel(new String[]{"A", "B", "CORE", "D", "EURO", "F"});
+        marksVO.setLabelFontColor(new String[]{"white", "white", "red", "#FFFFFF", "white", "#000"});
+        marksVO.setMinSize(new String[]{""});
+        marksVO.setText(new String[]{});
+        marksVO.setTime(new Integer[]{});
+        return marksVO;
+    }
+
+
+    @RequestMapping({"getTimescaleMarks.do"})
+    @ResponseBody
+    public Object getTimescaleMarks(@RequestParam String symbol,
+                                    @RequestParam Long from,
+                                    @RequestParam Long to,
+                                    @RequestParam String resolution) {
+        List<TimescaleMarks> list = new ArrayList<>();
+        TimescaleMarks timescaleMarks = new TimescaleMarks();
+        timescaleMarks.setColor("red");
+        timescaleMarks.setId("tsm1");
+        timescaleMarks.setLabel("A");
+        timescaleMarks.setTime(System.currentTimeMillis() / 1000);
+        timescaleMarks.setTooltip("");
+        list.add(timescaleMarks);
+        return list;
+    }
+
+    //获取报价
+    @RequestMapping({"getQuotes.do"})
+    @ResponseBody
+    public Object getQuotes(@RequestParam String symbols) {
+        List<Quote> quotes = indexApiService.getQuotes(symbols);
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("s", "ok");
+        jsonObject.put("n", "NYSE:AA");
+        jsonObject.put("v", quotes.get(0));
+
+        JSONObject jsonObject2 = new JSONObject();
+        jsonObject2.put("s", "ok");
+        jsonObject2.put("n", "NYSE:AA");
+        jsonObject2.put("v", quotes.get(0));
+
+
+        JSONArray jsonArray = new JSONArray();
+        jsonArray.add(jsonObject);
+        jsonArray.add(jsonObject2);
+
+
+        JSONObject jsonObject1 = new JSONObject();
+        jsonObject1.put("s", "ok");
+        jsonObject1.put("d", jsonArray);
+        return ServerResponse.createBySuccess(jsonObject1);
+    }
+}

+ 90 - 0
src/main/java/com/xc/controller/news/AdminNewsApiController.java

@@ -0,0 +1,90 @@
+package com.xc.controller.news;
+
+import com.github.pagehelper.PageInfo;
+import com.xc.common.ServerResponse;
+import com.xc.pojo.News;
+import com.xc.service.NewsService;
+import com.xc.utils.thread.ThreadUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+@Slf4j
+@RestController
+@RequestMapping({"/admin/news/"})
+public class AdminNewsApiController {
+    @Autowired
+    NewsService newsService;
+
+    @RequestMapping("getApiNews.do")
+    public ServerResponse getApiNews(Integer num, Integer start,Integer max){
+        ThreadUtil.executeCallback(obj -> {
+            for (int i = start; i < max; i++) {
+                newsService.getApiNews(num,i);
+            }
+        },0,5000);
+        return ServerResponse.createBySuccess();
+    }
+
+    /**
+     * 新闻列表
+     *
+     * @param news
+     * @param pageNum  当前第几页
+     * @param pageSize 每页个数
+     * @return
+     */
+    @RequestMapping(value = "list.do", method = {RequestMethod.GET, RequestMethod.POST})
+    public ServerResponse<PageInfo> list(News news, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
+        PageInfo pageInfo = newsService.listByNews(news, pageNum, pageSize);
+        return ServerResponse.createBySuccess(pageInfo);
+    }
+
+    @RequestMapping(value = "add.do")
+    public ServerResponse add(News news,Long publishTimeLong) {
+        if (publishTimeLong!=null){
+            Date date = new Date(publishTimeLong);
+            news.setPublishTime(date);
+        }
+        Integer updateCount = newsService.insert(news);
+        if (updateCount > 0) {
+            return ServerResponse.createBySuccessMsg("新增成功");
+        }
+        return ServerResponse.createByErrorMsg("新增失败");
+    }
+
+    @RequestMapping(value = "update.do")
+    public ServerResponse update(News news,Long publishTimeLong) {
+        if (publishTimeLong!=null){
+            Date date = new Date(publishTimeLong);
+            news.setPublishTime(date);
+        }
+        Integer updateCount = newsService.updateByPrimaryKeySelective(news);
+        if (updateCount > 0) {
+            return ServerResponse.createBySuccessMsg("修改成功");
+        }
+        return ServerResponse.createByErrorMsg("修改失败");
+    }
+
+    @RequestMapping(value = "delete.do")
+    public ServerResponse delete(Integer id) {
+        Integer updateCount = newsService.deleteByPrimaryKey(id);
+        if (updateCount > 0) {
+            return ServerResponse.createBySuccessMsg("删除成功");
+        }
+        return ServerResponse.createByErrorMsg("删除失败");
+    }
+
+    @RequestMapping({"select.do"})
+    public ServerResponse select(Integer id) {
+        News updateCount = newsService.selectByPrimaryKey(id);
+        return ServerResponse.createBySuccess(updateCount);
+    }
+
+
+}

+ 33 - 0
src/main/java/com/xc/controller/news/ApiNewsController.java

@@ -0,0 +1,33 @@
+package com.xc.controller.news;
+
+import com.github.pagehelper.PageInfo;
+import com.xc.common.ServerResponse;
+import com.xc.pojo.News;
+import com.xc.service.NewsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/news/")
+public class ApiNewsController {
+
+    @Autowired
+    NewsService newsService;
+
+    @RequestMapping("list.do")
+    public ServerResponse<PageInfo> list(News news, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum
+            , @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
+        PageInfo pageInfo = newsService.listByNews(news, pageNum, pageSize);
+        return ServerResponse.createBySuccess(pageInfo);
+    }
+
+    @RequestMapping({"select.do"})
+    public ServerResponse select(Integer id) {
+        News updateCount = newsService.selectByPrimaryKey(id);
+        return ServerResponse.createBySuccess(updateCount);
+    }
+
+}

+ 43 - 0
src/main/java/com/xc/controller/protol/UserBankController.java

@@ -0,0 +1,43 @@
+package com.xc.controller.protol;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.UserBank;
+import com.xc.service.IUserBankService;
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/user/bank/"})
+public class UserBankController {
+    private static final Logger log = LoggerFactory.getLogger(UserBankController.class);
+
+    @Autowired
+    IUserBankService iUserBankService;
+
+    @RequestMapping({"add.do"})
+    @ResponseBody
+    public ServerResponse add(UserBank bank, HttpServletRequest request) {
+        return this.iUserBankService.addBank(bank, request);
+    }
+
+    //修改银行卡信息
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(UserBank bank, HttpServletRequest request) {
+        return this.iUserBankService.updateBank(bank, request);
+    }
+
+    //查询用户银行卡信息
+    @RequestMapping({"getBankInfo.do"})
+    @ResponseBody
+    public ServerResponse getBankInfo(HttpServletRequest request) {
+        return this.iUserBankService.getBankInfo(request);
+    }
+}

+ 32 - 0
src/main/java/com/xc/controller/protol/UserCashDetailController.java

@@ -0,0 +1,32 @@
+ package com.xc.controller.protol;
+
+
+ import com.xc.common.ServerResponse;
+ import com.xc.service.IUserCashDetailService;
+ import javax.servlet.http.HttpServletRequest;
+ import org.springframework.beans.factory.annotation.Autowired;
+ import org.springframework.stereotype.Controller;
+ import org.springframework.web.bind.annotation.RequestMapping;
+ import org.springframework.web.bind.annotation.RequestParam;
+ import org.springframework.web.bind.annotation.ResponseBody;
+
+ @Controller
+ @RequestMapping({"/user/cash/"})
+ public class UserCashDetailController {
+     @Autowired
+     IUserCashDetailService iUserCashDetailService;
+
+     //查询所有资产明细
+     @RequestMapping({"list.do"})
+     @ResponseBody
+     public ServerResponse list(HttpServletRequest request, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "positionId", required = false) Integer positionId) {
+         return this.iUserCashDetailService.findUserCashDetailList(positionId, request, pageNum, pageSize);
+     }
+
+     //查询所有资产明细
+     @RequestMapping({"list2.do"})
+     @ResponseBody
+     public ServerResponse list2(HttpServletRequest request, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "positionId", required = false) Integer positionId) {
+         return this.iUserCashDetailService.findUserCapitalDetailList(positionId, request, pageNum, pageSize);
+     }
+ }

+ 230 - 0
src/main/java/com/xc/controller/protol/UserController.java

@@ -0,0 +1,230 @@
+package com.xc.controller.protol;
+
+
+import com.google.common.collect.Maps;
+import com.xc.common.ServerResponse;
+import com.xc.service.*;
+import com.xc.utils.PropertiesUtil;
+
+import java.math.BigDecimal;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+@Controller
+@RequestMapping({"/user/"})
+public class UserController {
+    private static final Logger log = LoggerFactory.getLogger(UserController.class);
+    @Autowired
+    IUserService iUserService;
+
+    @Autowired
+    IUserPositionService iUserPositionService;
+
+    @Autowired
+    IFileUploadService iFileUploadService;
+
+    @Autowired
+    IUserIndexPositionService iUserIndexPositionService;
+
+    @Autowired
+    IUserFuturesPositionService iUserFuturesPositionService;
+
+    //添加到自选股
+    @RequestMapping({"addOption.do"})
+    @ResponseBody
+    public ServerResponse addOption(@RequestParam("code") String code, HttpServletRequest request) {
+        return this.iUserService.addOption(code, request);
+    }
+
+    //删除自选股
+    @RequestMapping({"delOption.do"})
+    @ResponseBody
+    public ServerResponse delOption(@RequestParam("code") String code, HttpServletRequest request) {
+        return this.iUserService.delOption(code, request);
+    }
+
+    //查询是否是自选股
+    @RequestMapping({"isOption.do"})
+    @ResponseBody
+    public ServerResponse isOption(@RequestParam("code") String code, HttpServletRequest request) {
+        return this.iUserService.isOption(code, request);
+    }
+
+
+    //查询是否是自选股
+    @RequestMapping({"isOptionadd.do"})
+    @ResponseBody
+    public ServerResponse isOptionadd(@RequestParam("code") String code, HttpServletRequest request) {
+        return this.iUserService.isOptionadd(code, request);
+    }
+
+    //用户下单买入指数
+    @RequestMapping({"buy.do"})
+    @ResponseBody
+    public ServerResponse buy(@RequestParam("stockId") Integer stockId, @RequestParam("buyNum") Integer buyNum
+            , @RequestParam("buyType") Integer buyType, Integer entryOrders, BigDecimal buyOrderPrice,HttpServletRequest request) {
+        ServerResponse serverResponse = null;
+        try {
+            //判断是否是挂单
+            if (entryOrders!=null && entryOrders == 1){
+                serverResponse = this.iUserPositionService.buyEntryOrders(stockId, buyNum, buyType, entryOrders,buyOrderPrice, request);
+            }else {
+                serverResponse = this.iUserPositionService.buy(stockId, buyNum, buyType, request);
+            }
+        } catch (Exception e) {
+            log.error("用户下单操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    //撤单
+    @RequestMapping({"revoke.do"})
+    @ResponseBody
+    public ServerResponse revoke(@RequestParam("positionId") Integer positionId,HttpServletRequest request) {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserPositionService.revoke(positionId,request);
+        } catch (Exception e) {
+            log.error("用户撤单操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    //用户平仓操作
+    @RequestMapping({"sell.do"})
+    @ResponseBody
+    public ServerResponse sell(HttpServletRequest request, @RequestParam("positionSn") String positionSn) {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserPositionService.sell(positionSn, 1);
+        } catch (Exception e) {
+            log.error("用户平仓操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    @RequestMapping({"buyIndex.do"})
+    @ResponseBody
+    public ServerResponse buyIndex(@RequestParam("indexId") Integer indexId, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, HttpServletRequest request) {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserIndexPositionService.buyIndex(indexId, buyNum, buyType, request);
+        } catch (Exception e) {
+            log.error("用户下单指数操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    @RequestMapping({"sellIndex.do"})
+    @ResponseBody
+    public ServerResponse sellIndex(HttpServletRequest request, @RequestParam("positionSn") String positionSn) {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserIndexPositionService.sellIndex(positionSn, 1);
+        } catch (Exception e) {
+            log.error("用户平仓指数操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    //期货交易 用户下单
+    @RequestMapping({"buyFutures.do"})
+    @ResponseBody
+    public ServerResponse buyFutures(@RequestParam("FuturesId") Integer FuturesId, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, HttpServletRequest request) {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserFuturesPositionService.buyFutures(FuturesId, buyNum, buyType, request);
+        } catch (Exception e) {
+            log.error("用户下单 期货 操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    @RequestMapping({"sellFutures.do"})
+    @ResponseBody
+    public ServerResponse sellFutures(HttpServletRequest request, @RequestParam("positionSn") String positionSn) {
+        ServerResponse serverResponse = null;
+        try {
+            serverResponse = this.iUserFuturesPositionService.sellFutures(positionSn, 1);
+        } catch (Exception e) {
+            log.error("用户平仓 期货 操作 = {}", e);
+        }
+        return serverResponse;
+    }
+
+    @Autowired
+    IUserRechargeService iUserRechargeService;
+
+    //查询 用户信息
+    @RequestMapping({"getUserInfo.do"})
+    @ResponseBody
+    public ServerResponse getUserInfo(HttpServletRequest request) {
+        return this.iUserService.getUserInfo(request);
+    }
+
+    //修改用户密码
+    @RequestMapping({"updatePwd.do"})
+    @ResponseBody
+    public ServerResponse updatePwd(String oldPwd, String newPwd, HttpServletRequest request) {
+        return this.iUserService.updatePwd(oldPwd, newPwd, request);
+    }
+
+    @RequestMapping({"findIdWithPwd.do"})
+    @ResponseBody
+    public ServerResponse findIdWithPwd(@RequestParam("phone") String phone){
+        return this.iUserService.findIdWithPwd(phone);
+    }
+
+    @RequestMapping({"insertWithPwd.do"})
+    @ResponseBody
+    public ServerResponse insertWithPwd(@RequestParam("with_pwd") String with_pwd,@RequestParam("phone") String phone){
+        return this.iUserService.updateWithPwd(with_pwd,phone);
+    }
+
+
+    @RequestMapping({"auth.do"})
+    @ResponseBody
+    public ServerResponse auth(String realName, String idCard, String img1key, String img2key, String img3key, HttpServletRequest request) {
+        return this.iUserService.auth(realName, idCard, img1key, img2key, img3key, request);
+    }
+
+    //图片上传
+    @RequestMapping({"upload.do"})
+    @ResponseBody
+    public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest request) {
+        String path = request.getSession().getServletContext().getRealPath("upload");
+
+        ServerResponse serverResponse = this.iFileUploadService.upload(file, path);
+        if (serverResponse.isSuccess()) {
+            String targetFileName = serverResponse.getData().toString();
+            String url = PropertiesUtil.getProperty("ftp.server.http.prefix") + targetFileName;
+            System.out.println(targetFileName+"jkl");
+            System.out.println(url+"uzi");
+
+            Map fileMap = Maps.newHashMap();
+            fileMap.put("uri", targetFileName);
+            fileMap.put("url", url);
+
+            return ServerResponse.createBySuccess(fileMap);
+        }
+        return serverResponse;
+    }
+
+    //资产互转
+//    @RequestMapping({"transAmt.do"})
+//    @ResponseBody
+//    public ServerResponse transAmt(@RequestParam("amt") Integer amt, @RequestParam("type") Integer type, HttpServletRequest request) {
+//        return this.iUserService.transAmt(amt, type, request);
+//    }
+}

+ 29 - 0
src/main/java/com/xc/controller/protol/UserFuturesPositionController.java

@@ -0,0 +1,29 @@
+package com.xc.controller.protol;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IUserFuturesPositionService;
+import javax.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/user/futures/position/"})
+public class UserFuturesPositionController {
+    private static final Logger log = LoggerFactory.getLogger(UserFuturesPositionController.class);
+
+    @Autowired
+    IUserFuturesPositionService iUserFuturesPositionService;
+
+    //查询所有期货持仓/平仓信息
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(HttpServletRequest request, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "state", required = false) Integer state, @RequestParam(value = "fuName", required = false) String fuName, @RequestParam(value = "fuCode", required = false) String fuCode) {
+        return this.iUserFuturesPositionService.findMyFuturesPositionByNameAndCode(fuName, fuCode, state, request, pageNum, pageSize);
+    }
+}

+ 28 - 0
src/main/java/com/xc/controller/protol/UserIndexPositionController.java

@@ -0,0 +1,28 @@
+package com.xc.controller.protol;
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IUserIndexPositionService;
+import javax.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/user/index/position/"})
+public class UserIndexPositionController {
+    private static final Logger log = LoggerFactory.getLogger(UserIndexPositionController.class);
+
+    @Autowired
+    IUserIndexPositionService iUserIndexPositionService;
+
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(HttpServletRequest request, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "state", required = false) Integer state, @RequestParam(value = "indexName", required = false) String indexName, @RequestParam(value = "indexCode", required = false) String indexCode) {
+        return this.iUserIndexPositionService.findMyIndexPositionByNameAndCode(indexName, indexCode, state, request, pageNum, pageSize);
+    }
+}
+

+ 30 - 0
src/main/java/com/xc/controller/protol/UserOptionController.java

@@ -0,0 +1,30 @@
+package com.xc.controller.protol;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IStockOptionService;
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/user/option/"})
+public class UserOptionController {
+    private static final Logger log = LoggerFactory.getLogger(UserOptionController.class);
+
+    @Autowired
+    IStockOptionService iStockOptionService;
+
+    //查询所有自选指数信息及模糊查询
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "typeId",defaultValue = "0")int typeId,@RequestParam(value = "hcrate",defaultValue = "0")int hcrate,HttpServletRequest request, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "keyWords", required = false) String keyWords) {
+        return this.iStockOptionService.findMyStockOptions(typeId,hcrate,keyWords, request, pageNum, pageSize);
+    }
+}

+ 45 - 0
src/main/java/com/xc/controller/protol/UserPayController.java

@@ -0,0 +1,45 @@
+package com.xc.controller.protol;
+
+
+import com.xc.common.ServerResponse;
+import com.xc.service.IPayService;
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@Controller
+@RequestMapping({"/user/pay/"})
+public class UserPayController {
+    private static final Logger log = LoggerFactory.getLogger(UserPayController.class);
+
+    @Autowired
+    IPayService iPayService;
+
+    @RequestMapping({"juhe1.do"})
+    @ResponseBody
+    public ServerResponse juhe1(@RequestParam("payType") String payType, @RequestParam("payAmt") String payAmt, HttpServletRequest request) throws Exception {
+        log.info("发起线上支付 payType = {} payAmt = {}", payType, payAmt);
+        return this.iPayService.juhenewpay(payType, payAmt, request);
+    }
+
+    @RequestMapping({"juhenewpayNotify.do"})
+    public String juhenewpayNotify(HttpServletRequest request) throws Exception {
+        iPayService.juhe1Notify(request);
+        return "success";
+    }
+
+    @RequestMapping({"flyPay.do"})
+    @ResponseBody
+    public ServerResponse flyPay(@RequestParam("payType") String payType, @RequestParam("payAmt") String payAmt, @RequestParam("currency") String currency, HttpServletRequest request) {
+        log.info("发起 fly 线上支付 payType = {} payAmt = {} currency = {}", new Object[]{payType, payAmt, currency});
+        return this.iPayService.flyPay(payType, payAmt, currency, request);
+    }
+
+}

+ 71 - 0
src/main/java/com/xc/controller/protol/UserPositionController.java

@@ -0,0 +1,71 @@
+ package com.xc.controller.protol;
+
+ import com.xc.common.ResponseCode;
+ import com.xc.common.ServerResponse;
+ import com.xc.pojo.User;
+ import com.xc.service.IUserPositionService;
+ import javax.servlet.http.HttpServletRequest;
+
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import org.springframework.beans.factory.annotation.Autowired;
+ import org.springframework.stereotype.Controller;
+ import org.springframework.web.bind.annotation.RequestMapping;
+ import org.springframework.web.bind.annotation.RequestParam;
+ import org.springframework.web.bind.annotation.ResponseBody;
+
+ import java.math.BigDecimal;
+ import java.util.List;
+
+ @Controller
+ @RequestMapping({"/user/position/"})
+ public class UserPositionController {
+     private static final Logger log = LoggerFactory.getLogger(UserPositionController.class);
+
+     @Autowired
+     IUserPositionService iUserPositionService;
+
+     //查询所有融资平仓/持仓信息
+     @RequestMapping({"list.do"})
+     @ResponseBody
+     public ServerResponse list(HttpServletRequest request,
+                                @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+                                @RequestParam(value = "state", required = false) Integer state,
+                                @RequestParam(value = "stockCode", required = false) String stockCode,
+                                @RequestParam(value = "stockSpell", required = false) String stockSpell) {
+         return this.iUserPositionService.findMyPositionByCodeAndSpell(stockCode, stockSpell, state, request, pageNum, pageSize);
+     }
+
+     //止盈操作
+     @RequestMapping({"stopProfitTarget.do"})
+     @ResponseBody
+     public ServerResponse stopProfitTarget(HttpServletRequest request, @RequestParam(value = "id", required = true) int id,
+                                @RequestParam(value = "targetprofit", required = false) BigDecimal targetprofit,
+                                @RequestParam(value = "stoploss", required = false) BigDecimal stoploss
+                                ) {
+         if(null == targetprofit && null == stoploss){
+             return ServerResponse.createByError();
+         }
+         return this.iUserPositionService.stopProfitTarget(id, targetprofit, stoploss, request);
+     }
+
+     //平仓操作
+     @RequestMapping({"closeOut.do"})
+     @ResponseBody
+     public ServerResponse closeOut(HttpServletRequest request, @RequestParam(value = "id", required = true) int id, @RequestParam(value = "orderNum", required = false) Integer orderNum) throws Exception {
+         return this.iUserPositionService.closeOut(id, orderNum);
+     }
+
+     @RequestMapping({"closeOutList.do"})
+     @ResponseBody
+     public ServerResponse closeOutList(HttpServletRequest request,@RequestParam(value = "list", required = true) List<Integer> list) throws Exception {
+         return this.iUserPositionService.closeOutList(list);
+     }
+	 
+     @RequestMapping({"oneKeyCloseOut.do"})
+     @ResponseBody
+     public ServerResponse oneKeyCloseOut(HttpServletRequest request) throws Exception {
+         return this.iUserPositionService.oneKeyCloseOut(request);
+     }
+ }

+ 50 - 0
src/main/java/com/xc/controller/protol/UserRechargeController.java

@@ -0,0 +1,50 @@
+package com.xc.controller.protol;
+
+
+import com.github.pagehelper.PageInfo;
+import com.xc.common.ServerResponse;
+import com.xc.pojo.User;
+import com.xc.pub.redismessage.service.MessageService;
+import com.xc.service.IUserRechargeService;
+import com.xc.service.IUserService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+
+
+@Controller
+@RequestMapping({"/user/recharge/"})
+public class UserRechargeController {
+    private static final Logger log = LoggerFactory.getLogger(UserRechargeController.class);
+
+    @Autowired
+    IUserRechargeService iUserRechargeService;
+
+    @Autowired
+    private MessageService messageService;
+    @Autowired
+    private IUserService iUserService;
+
+    //分页查询所有充值记录
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse<PageInfo> list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestParam(value = "payChannel", required = false) String payChannel, @RequestParam(value = "orderStatus", required = false) String orderStatus, HttpServletRequest request) {
+        return this.iUserRechargeService.findUserChargeList(payChannel, orderStatus, request, pageNum, pageSize);
+    }
+
+    //账户线下充值转账 创建充值订单
+    @RequestMapping({"inMoney.do"})
+    @ResponseBody
+    public ServerResponse inMoney(String amtRMB, String amt, String payType, HttpServletRequest request) {
+        User user = this.iUserService.getCurrentRefreshUser(request);
+        messageService.sendTopicMessage(String.format("%s充值了%s", user.getRealName(), amt));
+        return this.iUserRechargeService.inMoney(amtRMB, amt, payType, request);
+    }
+}
+

+ 61 - 0
src/main/java/com/xc/controller/protol/UserWithdrawController.java

@@ -0,0 +1,61 @@
+package com.xc.controller.protol;
+
+import com.xc.common.ServerResponse;
+import com.xc.pojo.User;
+import com.xc.pub.redismessage.service.MessageService;
+import com.xc.service.IUserService;
+import com.xc.service.IUserWithdrawService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+
+
+@Controller
+@RequestMapping({"/user/withdraw/"})
+public class UserWithdrawController {
+    private static final Logger log = LoggerFactory.getLogger(UserWithdrawController.class);
+
+    @Autowired
+    IUserWithdrawService iUserWithdrawService;
+
+    @Autowired
+    private MessageService messageService;
+
+    @Autowired
+    IUserService iUserService;
+
+    //分页查询所有提现记录
+    @RequestMapping({"list.do"})
+    @ResponseBody
+    public ServerResponse list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "8") int pageSize, @RequestParam(value = "withStatus", required = false) String withStatus, HttpServletRequest request) {
+        return this.iUserWithdrawService.findUserWithList(withStatus, request, pageNum, pageSize);
+    }
+
+    //用户提现
+    @RequestMapping({"outMoney.do"})
+    @ResponseBody
+    public ServerResponse outMoney(String amt, HttpServletRequest request) {
+        ServerResponse serverResponse = null;
+        User user = this.iUserService.getCurrentRefreshUser(request);
+        try {
+            serverResponse = this.iUserWithdrawService.outMoney(amt, user.getWithPwd(), request);
+            messageService.sendTopicMessage(String.format("%s提现了%s", user.getRealName(), amt));
+        } catch (Exception e) {
+            log.error("出金异常 e = {}", e);
+            serverResponse = ServerResponse.createByErrorMsg("出金异常,请稍后再试");
+        }
+        return serverResponse;
+    }
+
+    @RequestMapping({"cancel.do"})
+    @ResponseBody
+    public ServerResponse userCancel(Integer withId) {
+        return this.iUserWithdrawService.userCancel(withId);
+    }
+}

+ 32 - 0
src/main/java/com/xc/controller/sub/SubController.java

@@ -0,0 +1,32 @@
+package com.xc.controller.sub;
+
+import com.xc.common.ServerResponse;
+import com.xc.pub.redismessage.service.MessageService;
+import io.netty.util.internal.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping({"/api/sub/"})
+public class SubController {
+    @Autowired
+    private MessageService messageService;
+
+    @RequestMapping({"getMessage.do"})
+    @ResponseBody
+    public ServerResponse<String> getMessage(String adminName) {
+        if (StringUtil.isNullOrEmpty(adminName)) {
+            ServerResponse.createByError();
+        }
+        return ServerResponse.createBySuccessMsg(messageService.getQueueMessage(adminName));
+    }
+
+    @RequestMapping({"addMessage.do"})
+    @ResponseBody
+    public void addMessage(String message) {
+        messageService.sendTopicMessage(message);
+    }
+
+}

+ 169 - 0
src/main/java/com/xc/controller/ueditor/UeditorConfigController.java

@@ -0,0 +1,169 @@
+package com.xc.controller.ueditor;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.xc.utils.PropertiesUtil;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.Resource;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.util.WebUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStreamReader;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@RestController
+@RequestMapping("/ueditor")
+public class UeditorConfigController {
+
+    @Value("classpath:data/ueditorConfig.json")
+    private Resource resource;
+
+    private static String imageUrlPrefix = PropertiesUtil.getProperty("ueditor.config.imageUrlPrefix");
+
+    //@Value("${web.file.path}")
+//    private String filePath;
+    /**
+     * 请求根地址
+     * uploadimage://执行上传图片或截图的action名称
+     * uploadscrawl://执行上传涂鸦的action名称
+     * uploadvideo://执行上传视频的action名称
+     * uploadfile://controller里,执行上传视频的action名称
+     * catchimage://执行抓取远程图片的action名称
+     * listimage://执行列出图片的action名称
+     * listfile://执行列出文件的action名称
+     * ,produces="text/plain;charset=utf-8"
+     *
+     * @param request
+     * @param response
+     * @param action
+     * @return
+     */
+    @RequestMapping("/config.do")
+    public Object getConfig(HttpServletRequest request,HttpServletResponse response, HttpSession session,
+                            String action) {
+        JSONObject result = new JSONObject();
+        response.setCharacterEncoding("utf-8");
+        response.setHeader("Access-Control-Allow-Origin", "*");
+
+        //  , @RequestParam(value = "upfile", required = false) MultipartFile upfile
+        MultipartFile upfile= null;
+
+        switch (action) {
+            case "config":
+                result = getJsonObjFromResource();
+                result.put("imageUrlPrefix",imageUrlPrefix);
+                break;
+                //执行上传图片或截图的action名称
+            case "uploadimage":
+                //执行上传涂鸦的action名称
+            case "uploadscrawl":
+                try {
+                    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
+                    //判断是否为文件上传
+                    if (isMultipart){
+                        MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class);
+                        upfile = multipartRequest.getFile("upfile");
+                        if (null != upfile){
+                            result = this.ueditorUpload(upfile, session);
+                        }else {
+                            result.put("state","文件上传错误");
+                        }
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                break;
+            default:
+                result.put("state","参数错误");
+        }
+        return result;
+    }
+
+    /**
+     * @param @param  file
+     * @param @param  response
+     * @param @param  request
+     * @param @throws Exception
+     * @return void
+     * @Title: uploadUEditorImage
+     * @Description: 自定义编辑器上传路径
+     * @date createTime:2018年4月9日下午1:52:19
+     */
+    @RequestMapping("/ueditorUpload.do")
+    public JSONObject ueditorUpload(@RequestParam(value = "upfile", required = false) MultipartFile file, HttpSession session) throws Exception {
+        JSONObject json = new JSONObject();
+        try {
+            //旧文件名
+            String fileName = file.getOriginalFilename();
+            //新文件名
+            String name = System.currentTimeMillis() + "" + (int) (Math.random() * 100);
+            //创建以日期为名字的文件夹
+            String dateFolder = "/" + new SimpleDateFormat("yyyyMMdd").format(new Date()) + "/";
+            String filePathString = session.getServletContext().getRealPath("/static/upImages" + dateFolder);
+            File filePath = this.savaImg(file, filePathString, name);
+            json.put("state", "SUCCESS");
+            json.put("title", fileName);
+            // 图片访问 相对路径
+            json.put("url", session.getServletContext().getContextPath() + "/static/upImages" + dateFolder + filePath.getName());
+            json.put("original", fileName);
+        } catch (Exception e) {
+            json.put("state", "ERROR"+e);
+        }
+        return json;
+    }
+
+    public File savaImg(MultipartFile file, String filePath, String name) {
+        File fileUrl = null;
+        if (!file.isEmpty()) {
+            String originalFilename = file.getOriginalFilename();
+            String nextfix = originalFilename.split("\\.")[originalFilename.split("\\.").length - 1];
+            if ("jpg".equals(nextfix) || "png".equals(nextfix) || "gif".equals(nextfix) || "jpeg".equals(nextfix)) {
+                String newFileName = name + "." + nextfix;
+                File testFilePath = new File(filePath);//用来判断文件夹是否存在
+                File imgFilePath = new File(filePath + "/" + newFileName);//生成文件文件上传路径
+                try {
+                    if (!testFilePath.exists()) {
+                        testFilePath.mkdirs();
+                    }
+                    file.transferTo(imgFilePath);
+                    fileUrl = imgFilePath;
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return fileUrl;
+    }
+
+    public  JSONObject getJsonObjFromResource() {
+        JSONObject json = null;
+        try {
+            BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream()));
+            StringBuffer message = new StringBuffer();
+            String line = null;
+            while ((line = br.readLine()) != null) {
+                message.append(line);
+            }
+            String defaultString = message.toString();
+            json = JSON.parseObject(defaultString);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return json;
+    }
+
+
+}

+ 37 - 0
src/main/java/com/xc/dao/AgentUserMapper.java

@@ -0,0 +1,37 @@
+package com.xc.dao;
+
+
+
+import com.xc.pojo.AgentUser;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface AgentUserMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(AgentUser paramAgentUser);
+  
+  int insertSelective(AgentUser paramAgentUser);
+  
+  AgentUser selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(AgentUser paramAgentUser);
+  
+  int updateByPrimaryKey(AgentUser paramAgentUser);
+
+  AgentUser findByCode(String paramString);
+  
+  AgentUser findByPhone(String paramString);
+  
+  AgentUser findByName(String paramString);
+  
+  AgentUser login(@Param("agentPhone") String paramString1, @Param("agentPwd") String paramString2);
+  
+  List getSecondAgent(Integer paramInteger);
+  
+  List listByAdmin(@Param("id")Integer id,@Param("realName") String paramString1, @Param("phone") String paramString2);
+  
+  int CountAgentNum();
+
+    List<AgentUser> selectAgentUserList();
+}

+ 28 - 0
src/main/java/com/xc/dao/IndexApiMapper.java

@@ -0,0 +1,28 @@
+package com.xc.dao;
+
+import com.xc.pojo.RealTimeIndex;
+import com.xc.vo.index.HistoryVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+
+public interface IndexApiMapper {
+
+    RealTimeIndex getRealTimeData(@Param("dbTableName") String dbTableName);
+
+    List<RealTimeIndex> getHistData(@Param("dbTableName") String dbTableName, @Param("time") Date time);
+
+    List<HistoryVo> getHistory(@Param("dbTableName") String dbTableName, @Param("startDate") Long from, @Param("endDate") Long to, @Param("resolution")  String resolution);
+
+    List<HistoryVo> getHistoryNew(@Param("dbTableName") String dbTableName, @Param("startDate") Long from, @Param("endDate") Long to);
+
+    HistoryVo getHistoryByStartDateAndEndDate(@Param("dbTableName") String dbTableName, @Param("startDate") Long from, @Param("endDate") Long to);
+
+    List<HistoryVo> getHistoryByMonth(@Param("dbTableName") String dbTableName, @Param("startDate") Long from, @Param("endDate") Long to,@Param("groupType") Integer groupType);
+
+    List<HistoryVo> getDataByRt(@Param("dbTableName") String dbTableName, @Param("startDate") Long from, @Param("endDate") Long to, @Param("resolution")  String resolution);
+
+    List<HistoryVo> getDataByHist(@Param("dbTableName") String dbTableName, @Param("startDate") Long from, @Param("endDate") Long to, @Param("resolution")  String resolution);
+
+}

+ 13 - 0
src/main/java/com/xc/dao/NewsMapper.java

@@ -0,0 +1,13 @@
+package com.xc.dao;
+
+import com.xc.pojo.News;
+
+import java.util.List;
+
+public interface NewsMapper {
+    Integer insert(News news);
+    Integer deleteByPrimaryKey(Integer id);
+    Integer updateByPrimaryKeySelective(News news);
+    News selectByPrimaryKey(Integer id);
+    List listByNews(News news);
+}

+ 20 - 0
src/main/java/com/xc/dao/ProtocolMapper.java

@@ -0,0 +1,20 @@
+package com.xc.dao;
+
+import com.xc.pojo.ProtocolInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface ProtocolMapper {
+    ProtocolInfo selectProtocolInfoByType(@Param("typeId") String typeId);
+
+    List<ProtocolInfo> selectProtocolInfo(@Param("protocolName") String protocolName, @Param("typeId") String typeId);
+	
+    int insert(ProtocolInfo paramProtocol);
+	
+    int update(ProtocolInfo paramProtocol);
+	
+    int delete(Integer id);
+	
+    ProtocolInfo selectByid(Integer id);
+}

+ 19 - 0
src/main/java/com/xc/dao/RealTimeMapper.java

@@ -0,0 +1,19 @@
+package com.xc.dao;
+
+import com.xc.pojo.RealTime;
+import java.util.List;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+public interface RealTimeMapper {
+    @Select({"select * from realtime where stockCode=#{stockCode}"})
+    List<RealTime> findStock(String paramString);
+
+    @Delete({"DELETE FROM realtime"})
+    int deleteStockCode();
+
+    @Insert({"<script>", "insert into realtime (time,volumes,price,rates,amounts,stockCode) values ", "<foreach  collection='areaLists' item='realTime' index='index' separator=','>", "(#{realTime.time},#{realTime.volumes},#{realTime.price},#{realTime.rates},#{realTime.amounts},#{realTime.stockCode})", "</foreach>", "</script>"})
+    int insertRealTime(@Param("areaLists") List<RealTime> paramList);
+}

+ 32 - 0
src/main/java/com/xc/dao/SiteAdminMapper.java

@@ -0,0 +1,32 @@
+package com.xc.dao;
+
+
+import com.xc.pojo.SiteAdmin;
+import com.xc.pub.redismessage.vo.AdminVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface SiteAdminMapper {
+    List<AdminVo> listAll();
+
+    int deleteByPrimaryKey(Integer paramInteger);
+
+    int insert(SiteAdmin paramSiteAdmin);
+
+    int insertSelective(SiteAdmin paramSiteAdmin);
+
+    SiteAdmin selectByPrimaryKey(Integer paramInteger);
+
+    int updateByPrimaryKeySelective(SiteAdmin paramSiteAdmin);
+
+    int updateByPrimaryKey(SiteAdmin paramSiteAdmin);
+
+    SiteAdmin login(@Param("adminPhone") String paramString1, @Param("adminPwd") String paramString2);
+
+    List listByAdmin(@Param("adminName") String paramString1, @Param("adminPhone") String paramString2, @Param("superAdmin") String paramString3);
+
+    SiteAdmin findAdminByName(String paramString);
+
+    SiteAdmin findAdminByPhone(String paramString);
+}

+ 21 - 0
src/main/java/com/xc/dao/SiteAmtTransLogMapper.java

@@ -0,0 +1,21 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteAmtTransLog;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface SiteAmtTransLogMapper {
+    int deleteByPrimaryKey(Integer paramInteger);
+
+    int insert(SiteAmtTransLog paramSiteAmtTransLog);
+
+    int insertSelective(SiteAmtTransLog paramSiteAmtTransLog);
+
+    SiteAmtTransLog selectByPrimaryKey(Integer paramInteger);
+
+    int updateByPrimaryKeySelective(SiteAmtTransLog paramSiteAmtTransLog);
+
+    int updateByPrimaryKey(SiteAmtTransLog paramSiteAmtTransLog);
+
+    List transList(@Param("userId") Integer paramInteger, @Param("realName") String paramString);
+}

+ 23 - 0
src/main/java/com/xc/dao/SiteArticleMapper.java

@@ -0,0 +1,23 @@
+package com.xc.dao;
+
+
+import com.xc.pojo.SiteArticle;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface SiteArticleMapper {
+    int deleteByPrimaryKey(Integer paramInteger);
+
+    int insert(SiteArticle paramSiteArticle);
+
+    int insertSelective(SiteArticle paramSiteArticle);
+
+    SiteArticle selectByPrimaryKey(Integer paramInteger);
+
+    int updateByPrimaryKeySelective(SiteArticle paramSiteArticle);
+
+    int updateByPrimaryKey(SiteArticle paramSiteArticle);
+
+    List listByAdmin(@Param("artTitle") String paramString1, @Param("artType") String paramString2);
+    List list(@Param("artTitle") String paramString1, @Param("artType") String paramString2);
+}

+ 24 - 0
src/main/java/com/xc/dao/SiteBannerMapper.java

@@ -0,0 +1,24 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteBanner;
+import java.util.List;
+
+public interface SiteBannerMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteBanner paramSiteBanner);
+  
+  int insertSelective(SiteBanner paramSiteBanner);
+  
+  SiteBanner selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteBanner paramSiteBanner);
+  
+  int updateByPrimaryKey(SiteBanner paramSiteBanner);
+  
+  List listByAdmin();
+  
+  List getBannerByMobile();
+  
+  List getBannerByPC();
+}

+ 20 - 0
src/main/java/com/xc/dao/SiteFuturesSettingMapper.java

@@ -0,0 +1,20 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteFuturesSetting;
+import java.util.List;
+
+public interface SiteFuturesSettingMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteFuturesSetting paramSiteFuturesSetting);
+  
+  int insertSelective(SiteFuturesSetting paramSiteFuturesSetting);
+  
+  SiteFuturesSetting selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteFuturesSetting paramSiteFuturesSetting);
+  
+  int updateByPrimaryKey(SiteFuturesSetting paramSiteFuturesSetting);
+  
+  List selectAllSiteSetting();
+}

+ 20 - 0
src/main/java/com/xc/dao/SiteIndexSettingMapper.java

@@ -0,0 +1,20 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteIndexSetting;
+import java.util.List;
+
+public interface SiteIndexSettingMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteIndexSetting paramSiteIndexSetting);
+  
+  int insertSelective(SiteIndexSetting paramSiteIndexSetting);
+  
+  SiteIndexSetting selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteIndexSetting paramSiteIndexSetting);
+  
+  int updateByPrimaryKey(SiteIndexSetting paramSiteIndexSetting);
+  
+  List selectAllSiteIndexSetting();
+}

+ 20 - 0
src/main/java/com/xc/dao/SiteInfoMapper.java

@@ -0,0 +1,20 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteInfo;
+import java.util.List;
+
+public interface SiteInfoMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+
+  int insert(SiteInfo paramSiteInfo);
+
+  int insertSelective(SiteInfo paramSiteInfo);
+
+  SiteInfo selectByPrimaryKey(Integer paramInteger);
+
+  int updateByPrimaryKeySelective(SiteInfo paramSiteInfo);
+
+  int updateByPrimaryKey(SiteInfo paramSiteInfo);
+
+  List findAll();
+}

+ 23 - 0
src/main/java/com/xc/dao/SiteLoginLogMapper.java

@@ -0,0 +1,23 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteLoginLog;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface SiteLoginLogMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteLoginLog paramSiteLoginLog);
+  
+  int insertSelective(SiteLoginLog paramSiteLoginLog);
+  
+  SiteLoginLog selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteLoginLog paramSiteLoginLog);
+  
+  int updateByPrimaryKey(SiteLoginLog paramSiteLoginLog);
+  
+  List loginList(@Param("userId") Integer paramInteger);
+  
+  int deleteByUserId(@Param("userId") Integer paramInteger);
+}

+ 27 - 0
src/main/java/com/xc/dao/SitePayMapper.java

@@ -0,0 +1,27 @@
+package com.xc.dao;
+
+import com.xc.pojo.SitePay;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface SitePayMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SitePay paramSitePay);
+  
+  int insertSelective(SitePay paramSitePay);
+  
+  SitePay selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SitePay paramSitePay);
+  
+  int updateByPrimaryKey(SitePay paramSitePay);
+  
+  SitePay findByChannelType(@Param("channelType") String paramString);
+  
+  List<SitePay> listByAdmin(@Param("channelType") String paramString);
+  
+  List getPayInfo();
+
+    String selectServerUrl();
+}

+ 20 - 0
src/main/java/com/xc/dao/SiteProductMapper.java

@@ -0,0 +1,20 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteProduct;
+import java.util.List;
+
+public interface SiteProductMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteProduct paramSiteProduct);
+  
+  int insertSelective(SiteProduct paramSiteProduct);
+  
+  SiteProduct selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteProduct paramSiteProduct);
+  
+  int updateByPrimaryKey(SiteProduct paramSiteProduct);
+  
+  List findAllSiteSetting();
+}

+ 20 - 0
src/main/java/com/xc/dao/SiteSettingMapper.java

@@ -0,0 +1,20 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteSetting;
+import java.util.List;
+
+public interface SiteSettingMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteSetting paramSiteSetting);
+  
+  int insertSelective(SiteSetting paramSiteSetting);
+  
+  SiteSetting selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteSetting paramSiteSetting);
+  
+  int updateByPrimaryKey(SiteSetting paramSiteSetting);
+  
+  List findAllSiteSetting();
+}

+ 21 - 0
src/main/java/com/xc/dao/SiteSmsLogMapper.java

@@ -0,0 +1,21 @@
+package com.xc.dao;
+
+import com.xc.pojo.SiteSmsLog;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface SiteSmsLogMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteSmsLog paramSiteSmsLog);
+  
+  int insertSelective(SiteSmsLog paramSiteSmsLog);
+  
+  SiteSmsLog selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteSmsLog paramSiteSmsLog);
+  
+  int updateByPrimaryKey(SiteSmsLog paramSiteSmsLog);
+  
+  List smsList(@Param("phoneNum") String paramString);
+}

+ 22 - 0
src/main/java/com/xc/dao/SiteTaskLogMapper.java

@@ -0,0 +1,22 @@
+package com.xc.dao;
+
+
+import com.xc.pojo.SiteTaskLog;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface SiteTaskLogMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(SiteTaskLog paramSiteTaskLog);
+  
+  int insertSelective(SiteTaskLog paramSiteTaskLog);
+  
+  SiteTaskLog selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(SiteTaskLog paramSiteTaskLog);
+  
+  int updateByPrimaryKey(SiteTaskLog paramSiteTaskLog);
+  
+  List taskList(@Param("taskType") String paramString);
+}

+ 32 - 0
src/main/java/com/xc/dao/StockCoinMapper.java

@@ -0,0 +1,32 @@
+package com.xc.dao;
+
+
+import com.xc.pojo.StockCoin;
+import java.util.List;
+
+import com.xc.vo.stockfutures.CoinAdminListVO;
+import org.apache.ibatis.annotations.Param;
+
+public interface StockCoinMapper {
+  int deleteByPrimaryKey(Integer paramInteger);
+  
+  int insert(StockCoin paramStockCoin);
+  
+  int insertSelective(StockCoin paramStockCoin);
+  
+  StockCoin selectByPrimaryKey(Integer paramInteger);
+  
+  int updateByPrimaryKeySelective(StockCoin paramStockCoin);
+  
+  int updateByPrimaryKey(StockCoin paramStockCoin);
+  
+  List listByAdmin(@Param("coinName") String paramString1, @Param("coinCode") String paramString2);
+  
+  StockCoin selectCoinByName(String paramString);
+  
+  StockCoin selectCoinByCode(String paramString);
+  
+  StockCoin selectCoinByGid(String paramString);
+
+  StockCoin getSelectCoin();
+}

+ 0 - 0
src/main/java/com/xc/dao/StockFuturesMapper.java


Некоторые файлы не были показаны из-за большого количества измененных файлов