Commit 5efb4092db6d284d3ad5349407076b2757de1eae

Authored by 陈杰
1 parent d2f34f58
Exists in master and in 1 other branch cloud_copy

微耕服务 嵌入分布式

Showing 116 changed files with 5149 additions and 2806 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 116 files displayed.

cloud/autho/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.sincere</groupId>
12 11 <artifactId>autho</artifactId>
... ...
cloud/common/libs/sqljdbc4-4.2-6.jar
No preview for this file type
cloud/common/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.sincere</groupId>
12 11 <artifactId>common</artifactId>
... ... @@ -20,71 +19,27 @@
20 19  
21 20 <dependencies>
22 21 <dependency>
23   - <groupId>org.springframework.boot</groupId>
24   - <artifactId>spring-boot-starter</artifactId>
25   - </dependency>
26   -
27   - <dependency>
28   - <groupId>org.springframework.boot</groupId>
29   - <artifactId>spring-boot-starter-test</artifactId>
30   - <scope>test</scope>
31   - </dependency>
32   -
33   - <dependency>
34   - <groupId>com.microsoft.sqlserver.jdbc</groupId>
35   - <artifactId>sqljdbc</artifactId>
36   - <scope>system</scope>
37   - <version>1</version>
38   - <systemPath>${project.basedir}/libs/sqljdbc4-4.2-6.jar</systemPath>
39   - </dependency>
40   -
41   -
42   - <dependency>
43   - <groupId>org.springframework.boot</groupId>
44   - <artifactId>spring-boot</artifactId>
45   - </dependency>
46   - <dependency>
47   - <groupId>com.baomidou</groupId>
48   - <artifactId>mybatis-plus-core</artifactId>
49   - <version>3.0.1</version>
50   - <scope>compile</scope>
51   - </dependency>
52   -
53   - <dependency>
54   - <groupId>com.baomidou</groupId>
55   - <artifactId>mybatis-plus-extension</artifactId>
56   - <version>3.0.1</version>
57   - <scope>compile</scope>
58   - </dependency>
59   -
60   - <dependency>
61 22 <groupId>org.apache.tomcat.embed</groupId>
62 23 <artifactId>tomcat-embed-core</artifactId>
63 24 </dependency>
64   -
65 25 <dependency>
66 26 <groupId>io.jsonwebtoken</groupId>
67 27 <artifactId>jjwt</artifactId>
68 28 <version>0.9.0</version>
69 29 </dependency>
70   -
71 30 <dependency>
72 31 <groupId>org.springframework.security</groupId>
73 32 <artifactId>spring-security-core</artifactId>
74 33 </dependency>
75   -
76 34 <dependency>
77 35 <groupId>org.projectlombok</groupId>
78 36 <artifactId>lombok</artifactId>
79 37 </dependency>
80   -
81   -
82 38 <dependency>
83 39 <groupId>commons-collections</groupId>
84 40 <artifactId>commons-collections</artifactId>
85 41 <version>3.2.2</version>
86 42 </dependency>
87   -
88 43 </dependencies>
89 44  
90 45 <build>
... ...
cloud/common/src/main/java/com/sincere/common/CommonApplication.java
... ... @@ -1,13 +0,0 @@
1   -package com.sincere.common;
2   -
3   -import org.springframework.boot.SpringApplication;
4   -import org.springframework.boot.autoconfigure.SpringBootApplication;
5   -
6   -@SpringBootApplication
7   -public class CommonApplication {
8   -
9   - public static void main(String[] args) {
10   - SpringApplication.run(CommonApplication.class, args);
11   - }
12   -
13   -}
cloud/common/src/main/java/com/sincere/common/commons/Result.java
1   -package com.sincere.common.commons;
2   -
3   -import lombok.AllArgsConstructor;
4   -import lombok.Data;
5   -import lombok.NoArgsConstructor;
6   -
7   -import java.io.Serializable;
8   -
9   -/**
10   - * @Author: [zhangzhiguang]
11   - * @Date: [2018-08-01 23:39]
12   - * @Description: [ ]
13   - * @Version: [1.0.0]
14   - * @Copy: [com.zzg]
15   - */
16   -@Data
17   -@NoArgsConstructor
18   -@AllArgsConstructor
19   -public class Result<T> implements Serializable {
20   -
21   - private T datas;
22   - private Integer resp_code;
23   - private String resp_msg;
24   -
25   - public static <T> Result<T> succeed(String msg) {
26   - return succeedWith(null, CodeEnum.SUCCESS.getCode(),msg);
27   - }
28   -
29   - public static <T> Result<T> succeed(T model, String msg) {
30   - return succeedWith(model, CodeEnum.SUCCESS.getCode(),msg);
31   - }
32   -
33   - public static <T> Result<T> succeedWith(T datas, Integer code,String msg) {
34   - return new Result<T>(datas, code, msg);
35   - }
36   -
37   - public static <T> Result<T> failed(String msg) {
38   - return failedWith(null, CodeEnum.ERROR.getCode(), msg);
39   - }
40   -
41   - public static <T> Result<T> failed(T model,String msg) {
42   - return failedWith(model, CodeEnum.ERROR.getCode(), msg);
43   - }
44   -
45   - public static <T> Result<T> failedWith(T datas, Integer code, String msg) {
46   - return new Result<T>( datas, code, msg);
47   - }
48   -
49   -}
  1 +//package com.sincere.common.commons;
  2 +//
  3 +//import lombok.AllArgsConstructor;
  4 +//import lombok.Data;
  5 +//import lombok.NoArgsConstructor;
  6 +//
  7 +//import java.io.Serializable;
  8 +//
  9 +///**
  10 +// * @Author: [zhangzhiguang]
  11 +// * @Date: [2018-08-01 23:39]
  12 +// * @Description: [ ]
  13 +// * @Version: [1.0.0]
  14 +// * @Copy: [com.zzg]
  15 +// */
  16 +//@Data
  17 +//@NoArgsConstructor
  18 +//@AllArgsConstructor
  19 +//public class Result<T> implements Serializable {
  20 +//
  21 +// private T datas;
  22 +// private Integer resp_code;
  23 +// private String resp_msg;
  24 +//
  25 +// public static <T> Result<T> succeed(String msg) {
  26 +// return succeedWith(null, CodeEnum.SUCCESS.getCode(),msg);
  27 +// }
  28 +//
  29 +// public static <T> Result<T> succeed(T model, String msg) {
  30 +// return succeedWith(model, CodeEnum.SUCCESS.getCode(),msg);
  31 +// }
  32 +//
  33 +// public static <T> Result<T> succeedWith(T datas, Integer code,String msg) {
  34 +// return new Result<T>(datas, code, msg);
  35 +// }
  36 +//
  37 +// public static <T> Result<T> failed(String msg) {
  38 +// return failedWith(null, CodeEnum.ERROR.getCode(), msg);
  39 +// }
  40 +//
  41 +// public static <T> Result<T> failed(T model,String msg) {
  42 +// return failedWith(model, CodeEnum.ERROR.getCode(), msg);
  43 +// }
  44 +//
  45 +// public static <T> Result<T> failedWith(T datas, Integer code, String msg) {
  46 +// return new Result<T>( datas, code, msg);
  47 +// }
  48 +//
  49 +//}
... ...
cloud/common/src/main/java/com/sincere/common/config/DataSourceHolder.java
... ... @@ -1,25 +0,0 @@
1   -package com.sincere.common.config;
2   -
3   -
4   -/**
5   - * 用于数据源切换
6   - *
7   - */
8   -public class DataSourceHolder {
9   -
10   - private static final ThreadLocal<DataSourceKey> dataSourceKey = new ThreadLocal<>();
11   -
12   - public static DataSourceKey getDataSourceKey() {
13   - return dataSourceKey.get();
14   - }
15   -
16   - public static void setDataSourceKey(DataSourceKey type) {
17   - dataSourceKey.set(type);
18   - }
19   -
20   - public static void clearDataSourceKey() {
21   - dataSourceKey.remove();
22   - }
23   -
24   -
25   -}
26 0 \ No newline at end of file
cloud/common/src/main/java/com/sincere/common/config/DataSourceKey.java
... ... @@ -1,11 +0,0 @@
1   -package com.sincere.common.config;
2   -
3   -/**
4   - * 数据源定义
5   - *
6   - * @author owen
7   - * @create 2017年7月2日
8   - */
9   -public enum DataSourceKey {
10   - core, log ,sharding
11   -}
12 0 \ No newline at end of file
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/SchoolDto.java 0 → 100644
... ... @@ -0,0 +1,31 @@
  1 +package com.sincere.common.dto.smartCampus;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/12 0012 9:06
  9 + */
  10 +public class SchoolDto implements Serializable {
  11 +
  12 + private int schoolId ;
  13 + private String schoolName ;
  14 +
  15 + public int getSchoolId() {
  16 + return schoolId;
  17 + }
  18 +
  19 + public void setSchoolId(int schoolId) {
  20 + this.schoolId = schoolId;
  21 + }
  22 +
  23 + public String getSchoolName() {
  24 + return schoolName;
  25 + }
  26 +
  27 + public void setSchoolName(String schoolName) {
  28 + this.schoolName = schoolName;
  29 + }
  30 +
  31 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/StudentCardDto.java 0 → 100644
... ... @@ -0,0 +1,31 @@
  1 +package com.sincere.common.dto.smartCampus;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/12 0012 9:33
  9 + */
  10 +public class StudentCardDto implements Serializable {
  11 +
  12 + private String cardType ;
  13 + private String cardNum ;
  14 +
  15 + public String getCardType() {
  16 + return cardType;
  17 + }
  18 +
  19 + public void setCardType(String cardType) {
  20 + this.cardType = cardType;
  21 + }
  22 +
  23 + public String getCardNum() {
  24 + return cardNum;
  25 + }
  26 +
  27 + public void setCardNum(String cardNum) {
  28 + this.cardNum = cardNum;
  29 + }
  30 +
  31 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/UpdateCardDto.java 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +package com.sincere.common.dto.smartCampus;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/12 0012 9:31
  9 + */
  10 +public class UpdateCardDto implements Serializable {
  11 +
  12 + private int id ;
  13 + private int userType ;
  14 + private String oldCard ;
  15 +
  16 + public int getId() {
  17 + return id;
  18 + }
  19 +
  20 + public void setId(int id) {
  21 + this.id = id;
  22 + }
  23 +
  24 + public int getUserType() {
  25 + return userType;
  26 + }
  27 +
  28 + public void setUserType(int userType) {
  29 + this.userType = userType;
  30 + }
  31 +
  32 + public String getOldCard() {
  33 + return oldCard;
  34 + }
  35 +
  36 + public void setOldCard(String oldCard) {
  37 + this.oldCard = oldCard;
  38 + }
  39 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/UserDto.java 0 → 100644
... ... @@ -0,0 +1,48 @@
  1 +package com.sincere.common.dto.smartCampus;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/12 0012 9:28
  9 + */
  10 +public class UserDto implements Serializable {
  11 +
  12 + private int schoolId;
  13 + private int classId ;
  14 + private String name ;
  15 + private int studentId ;
  16 +
  17 + public int getSchoolId() {
  18 + return schoolId;
  19 + }
  20 +
  21 + public void setSchoolId(int schoolId) {
  22 + this.schoolId = schoolId;
  23 + }
  24 +
  25 + public int getClassId() {
  26 + return classId;
  27 + }
  28 +
  29 + public void setClassId(int classId) {
  30 + this.classId = classId;
  31 + }
  32 +
  33 + public String getName() {
  34 + return name;
  35 + }
  36 +
  37 + public void setName(String name) {
  38 + this.name = name;
  39 + }
  40 +
  41 + public int getStudentId() {
  42 + return studentId;
  43 + }
  44 +
  45 + public void setStudentId(int studentId) {
  46 + this.studentId = studentId;
  47 + }
  48 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/xiaoan/CheckInDto.java 0 → 100644
... ... @@ -0,0 +1,59 @@
  1 +package com.sincere.common.dto.xiaoan;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/12 0012 9:40
  9 + */
  10 +public class CheckInDto implements Serializable {
  11 +
  12 + private String deviceId ;
  13 + private String cardNo ;
  14 + private int funNo ;
  15 + private int flag ;
  16 + private String checkTime ;
  17 +
  18 +
  19 + public String getDeviceId() {
  20 + return deviceId;
  21 + }
  22 +
  23 + public void setDeviceId(String deviceId) {
  24 + this.deviceId = deviceId;
  25 + }
  26 +
  27 + public String getCardNo() {
  28 + return cardNo;
  29 + }
  30 +
  31 + public void setCardNo(String cardNo) {
  32 + this.cardNo = cardNo;
  33 + }
  34 +
  35 + public int getFlag() {
  36 + return flag;
  37 + }
  38 +
  39 + public void setFlag(int flag) {
  40 + this.flag = flag;
  41 + }
  42 +
  43 + public String getCheckTime() {
  44 + return checkTime;
  45 + }
  46 +
  47 + public void setCheckTime(String checkTime) {
  48 + this.checkTime = checkTime;
  49 + }
  50 +
  51 +
  52 + public int getFunNo() {
  53 + return funNo;
  54 + }
  55 +
  56 + public void setFunNo(int funNo) {
  57 + this.funNo = funNo;
  58 + }
  59 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/xiaoan/CheckOutDto.java 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +package com.sincere.common.dto.xiaoan;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/12 0012 13:36
  9 + */
  10 +public class CheckOutDto implements Serializable {
  11 +
  12 + private String out;
  13 + private int isSuccess ;
  14 +
  15 + public String getOut() {
  16 + return out;
  17 + }
  18 +
  19 + public void setOut(String out) {
  20 + this.out = out;
  21 + }
  22 +
  23 + public int getIsSuccess() {
  24 + return isSuccess;
  25 + }
  26 +
  27 + public void setIsSuccess(int isSuccess) {
  28 + this.isSuccess = isSuccess;
  29 + }
  30 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/xiaoan/PassFailDto.java 0 → 100644
... ... @@ -0,0 +1,76 @@
  1 +package com.sincere.common.dto.xiaoan;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.Date;
  5 +
  6 +/**
  7 + * @author chen
  8 + * @version 1.0
  9 + * @date 2019/11/12 0012 10:03
  10 + */
  11 +public class PassFailDto implements Serializable {
  12 +
  13 + private String cardNum ;
  14 + private String deviceId ;
  15 + private String direction ;
  16 + private String resultIntro ;
  17 + private Date createTime ;
  18 + private int schoolId ;
  19 + private Date inTime ;
  20 +
  21 + public String getCardNum() {
  22 + return cardNum;
  23 + }
  24 +
  25 + public void setCardNum(String cardNum) {
  26 + this.cardNum = cardNum;
  27 + }
  28 +
  29 + public String getDeviceId() {
  30 + return deviceId;
  31 + }
  32 +
  33 + public void setDeviceId(String deviceId) {
  34 + this.deviceId = deviceId;
  35 + }
  36 +
  37 + public String getDirection() {
  38 + return direction;
  39 + }
  40 +
  41 + public void setDirection(String direction) {
  42 + this.direction = direction;
  43 + }
  44 +
  45 + public String getResultIntro() {
  46 + return resultIntro;
  47 + }
  48 +
  49 + public void setResultIntro(String resultIntro) {
  50 + this.resultIntro = resultIntro;
  51 + }
  52 +
  53 + public Date getCreateTime() {
  54 + return createTime;
  55 + }
  56 +
  57 + public void setCreateTime(Date createTime) {
  58 + this.createTime = createTime;
  59 + }
  60 +
  61 + public int getSchoolId() {
  62 + return schoolId;
  63 + }
  64 +
  65 + public void setSchoolId(int schoolId) {
  66 + this.schoolId = schoolId;
  67 + }
  68 +
  69 + public Date getInTime() {
  70 + return inTime;
  71 + }
  72 +
  73 + public void setInTime(Date inTime) {
  74 + this.inTime = inTime;
  75 + }
  76 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/xiaoan/SendFailDto.java 0 → 100644
... ... @@ -0,0 +1,215 @@
  1 +package com.sincere.common.dto.xiaoan;
  2 +
  3 +import com.sincere.common.dto.smartCampus.SchoolDto;
  4 +import com.sincere.common.dto.smartCampus.StudentCardDto;
  5 +import com.sincere.common.dto.smartCampus.UpdateCardDto;
  6 +import com.sincere.common.dto.smartCampus.UserDto;
  7 +
  8 +import java.io.Serializable;
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + * @author chen
  13 + * @version 1.0
  14 + * @date 2019/11/12 0012 10:12
  15 + */
  16 +public class SendFailDto implements Serializable {
  17 +
  18 + private String deviceId ;
  19 + private String cardNum ;
  20 + private String oldCardNum ;
  21 + private String cardType ;
  22 + private int customerId ;
  23 + private int userType ;
  24 + private int classId ;
  25 + private String schoolName ;
  26 + private int studentType ;
  27 + private int openFlag ;
  28 + private int status ;
  29 + private int updateId ;
  30 + private Date createTime ;
  31 + private int sex ;
  32 + private String name ;
  33 + private int failType ;
  34 + private String failContent ;
  35 + private int schoolId ;
  36 + private int shiduan ;
  37 +
  38 + public SendFailDto() {
  39 + }
  40 +
  41 + public SendFailDto(UserDto user , SchoolDto school , StudentCardDto studentCard , UpdateCardDto updateCard) {
  42 + if(updateCard != null){
  43 + oldCardNum = updateCard.getOldCard();
  44 + userType = updateCard.getUserType() ;
  45 + }
  46 + if(studentCard != null){
  47 + cardType = studentCard.getCardType();
  48 + }
  49 + if(user != null){
  50 + customerId = user.getStudentId();
  51 + classId = user.getClassId();
  52 + schoolId = user.getSchoolId();
  53 + name = user.getName();
  54 + }
  55 + if(school != null){
  56 + schoolName = school.getSchoolName();
  57 + }
  58 + createTime = new Date();
  59 + studentType =1 ;
  60 + sex = 1;
  61 + }
  62 +
  63 +
  64 + public String getDeviceId() {
  65 + return deviceId;
  66 + }
  67 +
  68 + public void setDeviceId(String deviceId) {
  69 + this.deviceId = deviceId;
  70 + }
  71 +
  72 + public String getCardNum() {
  73 + return cardNum;
  74 + }
  75 +
  76 + public void setCardNum(String cardNum) {
  77 + this.cardNum = cardNum;
  78 + }
  79 +
  80 + public String getOldCardNum() {
  81 + return oldCardNum;
  82 + }
  83 +
  84 + public void setOldCardNum(String oldCardNum) {
  85 + this.oldCardNum = oldCardNum;
  86 + }
  87 +
  88 + public String getCardType() {
  89 + return cardType;
  90 + }
  91 +
  92 + public void setCardType(String cardType) {
  93 + this.cardType = cardType;
  94 + }
  95 +
  96 + public int getCustomerId() {
  97 + return customerId;
  98 + }
  99 +
  100 + public void setCustomerId(int customerId) {
  101 + this.customerId = customerId;
  102 + }
  103 +
  104 + public int getUserType() {
  105 + return userType;
  106 + }
  107 +
  108 + public void setUserType(int userType) {
  109 + this.userType = userType;
  110 + }
  111 +
  112 + public int getClassId() {
  113 + return classId;
  114 + }
  115 +
  116 + public void setClassId(int classId) {
  117 + this.classId = classId;
  118 + }
  119 +
  120 + public String getSchoolName() {
  121 + return schoolName;
  122 + }
  123 +
  124 + public void setSchoolName(String schoolName) {
  125 + this.schoolName = schoolName;
  126 + }
  127 +
  128 + public int getStudentType() {
  129 + return studentType;
  130 + }
  131 +
  132 + public void setStudentType(int studentType) {
  133 + this.studentType = studentType;
  134 + }
  135 +
  136 + public int getOpenFlag() {
  137 + return openFlag;
  138 + }
  139 +
  140 + public void setOpenFlag(int openFlag) {
  141 + this.openFlag = openFlag;
  142 + }
  143 +
  144 + public int getStatus() {
  145 + return status;
  146 + }
  147 +
  148 + public void setStatus(int status) {
  149 + this.status = status;
  150 + }
  151 +
  152 + public int getUpdateId() {
  153 + return updateId;
  154 + }
  155 +
  156 + public void setUpdateId(int updateId) {
  157 + this.updateId = updateId;
  158 + }
  159 +
  160 + public Date getCreateTime() {
  161 + return createTime;
  162 + }
  163 +
  164 + public void setCreateTime(Date createTime) {
  165 + this.createTime = createTime;
  166 + }
  167 +
  168 + public int getSex() {
  169 + return sex;
  170 + }
  171 +
  172 + public void setSex(int sex) {
  173 + this.sex = sex;
  174 + }
  175 +
  176 + public String getName() {
  177 + return name;
  178 + }
  179 +
  180 + public void setName(String name) {
  181 + this.name = name;
  182 + }
  183 +
  184 + public int getFailType() {
  185 + return failType;
  186 + }
  187 +
  188 + public void setFailType(int failType) {
  189 + this.failType = failType;
  190 + }
  191 +
  192 + public String getFailContent() {
  193 + return failContent;
  194 + }
  195 +
  196 + public void setFailContent(String failContent) {
  197 + this.failContent = failContent;
  198 + }
  199 +
  200 + public int getSchoolId() {
  201 + return schoolId;
  202 + }
  203 +
  204 + public void setSchoolId(int schoolId) {
  205 + this.schoolId = schoolId;
  206 + }
  207 +
  208 + public int getShiduan() {
  209 + return shiduan;
  210 + }
  211 +
  212 + public void setShiduan(int shiduan) {
  213 + this.shiduan = shiduan;
  214 + }
  215 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/xiaoan/SendMessageDto.java 0 → 100644
... ... @@ -0,0 +1,94 @@
  1 +package com.sincere.common.dto.xiaoan;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.Date;
  5 +
  6 +/**
  7 + * @author chen
  8 + * @version 1.0
  9 + * @date 2019/11/12 0012 9:37
  10 + */
  11 +public class SendMessageDto implements Serializable {
  12 +
  13 + private long id ;
  14 + private String deviceId ;
  15 + private String cardNo ;
  16 + private long index ;
  17 + private String send ;
  18 + private String result ;
  19 + private int correct ;
  20 + private Date createTime ;
  21 + private String functionId ;
  22 +
  23 + public long getId() {
  24 + return id;
  25 + }
  26 +
  27 + public void setId(long id) {
  28 + this.id = id;
  29 + }
  30 +
  31 + public String getDeviceId() {
  32 + return deviceId;
  33 + }
  34 +
  35 + public void setDeviceId(String deviceId) {
  36 + this.deviceId = deviceId;
  37 + }
  38 +
  39 + public String getCardNo() {
  40 + return cardNo;
  41 + }
  42 +
  43 + public void setCardNo(String cardNo) {
  44 + this.cardNo = cardNo;
  45 + }
  46 +
  47 + public long getIndex() {
  48 + return index;
  49 + }
  50 +
  51 + public void setIndex(long index) {
  52 + this.index = index;
  53 + }
  54 +
  55 + public String getSend() {
  56 + return send;
  57 + }
  58 +
  59 + public void setSend(String send) {
  60 + this.send = send;
  61 + }
  62 +
  63 + public String getResult() {
  64 + return result;
  65 + }
  66 +
  67 + public void setResult(String result) {
  68 + this.result = result;
  69 + }
  70 +
  71 + public int getCorrect() {
  72 + return correct;
  73 + }
  74 +
  75 + public void setCorrect(int correct) {
  76 + this.correct = correct;
  77 + }
  78 +
  79 + public Date getCreateTime() {
  80 + return createTime;
  81 + }
  82 +
  83 + public void setCreateTime(Date createTime) {
  84 + this.createTime = createTime;
  85 + }
  86 +
  87 + public String getFunctionId() {
  88 + return functionId;
  89 + }
  90 +
  91 + public void setFunctionId(String functionId) {
  92 + this.functionId = functionId;
  93 + }
  94 +}
... ...
cloud/common/src/main/java/com/sincere/common/dto/xiaoan/SendSuccessDto.java 0 → 100644
... ... @@ -0,0 +1,196 @@
  1 +package com.sincere.common.dto.xiaoan;
  2 +
  3 +import com.sincere.common.dto.smartCampus.SchoolDto;
  4 +import com.sincere.common.dto.smartCampus.StudentCardDto;
  5 +import com.sincere.common.dto.smartCampus.UpdateCardDto;
  6 +import com.sincere.common.dto.smartCampus.UserDto;
  7 +
  8 +import java.io.Serializable;
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + * @author chen
  13 + * @version 1.0
  14 + * @date 2019/11/12 0012 10:06
  15 + */
  16 +public class SendSuccessDto implements Serializable {
  17 +
  18 + private String deviceId ;
  19 + private String cardNum ;
  20 + private String oldCardNum ;
  21 + private String cardType ;
  22 + private int customerId ;
  23 + private int userType ;
  24 + private int classId ;
  25 + private String schoolName ;
  26 + private int studentType ;
  27 + private int openFlag ;
  28 + private int status ;
  29 + private int updateId ;
  30 + private Date createTime ;
  31 + private int sex ;
  32 + private String name ;
  33 + private int schoolId ;
  34 + private int shiduan ;
  35 +
  36 + public SendSuccessDto() {
  37 + }
  38 +
  39 + public SendSuccessDto(UserDto user , SchoolDto school , StudentCardDto studentCard , UpdateCardDto updateCard) {
  40 + if(updateCard != null){
  41 + oldCardNum = updateCard.getOldCard();
  42 + userType = updateCard.getUserType() ;
  43 + }
  44 + if(studentCard != null){
  45 + cardType = studentCard.getCardType();
  46 + }
  47 + if(user != null){
  48 + customerId = user.getStudentId();
  49 + classId = user.getClassId();
  50 + schoolId = user.getSchoolId();
  51 + name = user.getName();
  52 + }
  53 + if(school != null){
  54 + schoolName = school.getSchoolName();
  55 + }
  56 + createTime = new Date();
  57 + studentType =1 ;
  58 + sex = 1;
  59 + }
  60 +
  61 + public String getDeviceId() {
  62 + return deviceId;
  63 + }
  64 +
  65 + public void setDeviceId(String deviceId) {
  66 + this.deviceId = deviceId;
  67 + }
  68 +
  69 + public String getCardNum() {
  70 + return cardNum;
  71 + }
  72 +
  73 + public void setCardNum(String cardNum) {
  74 + this.cardNum = cardNum;
  75 + }
  76 +
  77 + public String getOldCardNum() {
  78 + return oldCardNum;
  79 + }
  80 +
  81 + public void setOldCardNum(String oldCardNum) {
  82 + this.oldCardNum = oldCardNum;
  83 + }
  84 +
  85 + public String getCardType() {
  86 + return cardType;
  87 + }
  88 +
  89 + public void setCardType(String cardType) {
  90 + this.cardType = cardType;
  91 + }
  92 +
  93 + public int getCustomerId() {
  94 + return customerId;
  95 + }
  96 +
  97 + public void setCustomerId(int customerId) {
  98 + this.customerId = customerId;
  99 + }
  100 +
  101 + public int getUserType() {
  102 + return userType;
  103 + }
  104 +
  105 + public void setUserType(int userType) {
  106 + this.userType = userType;
  107 + }
  108 +
  109 + public int getClassId() {
  110 + return classId;
  111 + }
  112 +
  113 + public void setClassId(int classId) {
  114 + this.classId = classId;
  115 + }
  116 +
  117 + public String getSchoolName() {
  118 + return schoolName;
  119 + }
  120 +
  121 + public void setSchoolName(String schoolName) {
  122 + this.schoolName = schoolName;
  123 + }
  124 +
  125 + public int getStudentType() {
  126 + return studentType;
  127 + }
  128 +
  129 + public void setStudentType(int studentType) {
  130 + this.studentType = studentType;
  131 + }
  132 +
  133 + public int getOpenFlag() {
  134 + return openFlag;
  135 + }
  136 +
  137 + public void setOpenFlag(int openFlag) {
  138 + this.openFlag = openFlag;
  139 + }
  140 +
  141 + public int getStatus() {
  142 + return status;
  143 + }
  144 +
  145 + public void setStatus(int status) {
  146 + this.status = status;
  147 + }
  148 +
  149 + public int getUpdateId() {
  150 + return updateId;
  151 + }
  152 +
  153 + public void setUpdateId(int updateId) {
  154 + this.updateId = updateId;
  155 + }
  156 +
  157 + public Date getCreateTime() {
  158 + return createTime;
  159 + }
  160 +
  161 + public void setCreateTime(Date createTime) {
  162 + this.createTime = createTime;
  163 + }
  164 +
  165 + public int getSex() {
  166 + return sex;
  167 + }
  168 +
  169 + public void setSex(int sex) {
  170 + this.sex = sex;
  171 + }
  172 +
  173 + public String getName() {
  174 + return name;
  175 + }
  176 +
  177 + public void setName(String name) {
  178 + this.name = name;
  179 + }
  180 +
  181 + public int getSchoolId() {
  182 + return schoolId;
  183 + }
  184 +
  185 + public void setSchoolId(int schoolId) {
  186 + this.schoolId = schoolId;
  187 + }
  188 +
  189 + public int getShiduan() {
  190 + return shiduan;
  191 + }
  192 +
  193 + public void setShiduan(int shiduan) {
  194 + this.shiduan = shiduan;
  195 + }
  196 +}
... ...
cloud/common/src/main/java/com/sincere/common/entity/SysUser.java
... ... @@ -1,99 +0,0 @@
1   -package com.sincere.common.entity;
2   -
3   -
4   -import lombok.Data;
5   -import lombok.experimental.Accessors;
6   -
7   -import java.time.LocalDateTime;
8   -
9   -/**
10   - * <p>
11   - * 用户表
12   - * </p>
13   - *
14   - * @author yukong
15   - * @since 2018-10-08
16   - */
17   -@Data
18   -@Accessors(chain = true)
19   -public class SysUser {
20   -
21   - private static final long serialVersionUID = 1L;
22   -
23   - /**
24   - * 主键ID
25   - */
26   - private Integer userId;
27   -
28   - /**
29   - * 用户名
30   - */
31   - private String username;
32   -
33   - /**
34   - * 密码
35   - */
36   - private String password;
37   -
38   - /**
39   - * 邮箱
40   - */
41   - private String email;
42   -
43   - /**
44   - * 手机号码
45   - */
46   - private String mobile;
47   -
48   - /**
49   - * qq号码
50   - */
51   - private String qq;
52   -
53   - /**
54   - * 微信号码
55   - */
56   - private String wechat;
57   -
58   - /**
59   - * 微博url
60   - */
61   - private String weibo;
62   -
63   - /**
64   - * 头像url
65   - */
66   - private String avatar;
67   -
68   - /**
69   - * qq openid
70   - */
71   - private String qqOpenid;
72   -
73   - /**
74   - * 微信openid
75   - */
76   - private String wechatOpenid;
77   -
78   - /**
79   - * 微博openid
80   - */
81   - private String weiboOpenid;
82   -
83   - /**
84   - * 创建时间
85   - */
86   - private LocalDateTime createTime;
87   -
88   - /**
89   - * 更新时间
90   - */
91   - private LocalDateTime modifyTime;
92   -
93   - /**
94   - * 是否删除 0-未删除 1-删除
95   - */
96   - private String delFlag;
97   -
98   -
99   -}
cloud/common/src/main/java/com/sincere/common/enums/ApiErrorCodeEnum.java
1 1 package com.sincere.common.enums;
2   -
3   -
4   -import com.baomidou.mybatisplus.extension.api.IErrorCode;
5   -
6 2 /**
7 3 * @author yukong
8 4 * @date 2019-04-20 18:54
9 5 */
10   -public enum ApiErrorCodeEnum implements IErrorCode {
  6 +public enum ApiErrorCodeEnum{
11 7 /**
12 8 * 失败
13 9 */
... ... @@ -40,17 +36,14 @@ public enum ApiErrorCodeEnum implements IErrorCode {
40 36 return SUCCESS;
41 37 }
42 38  
43   - @Override
44 39 public long getCode() {
45 40 return code;
46 41 }
47 42  
48   - @Override
49 43 public String getMsg() {
50 44 return msg;
51 45 }
52 46  
53   - @Override
54 47 public String toString() {
55 48 return String.format(" ErrorCode:{code=%s, msg=%s} ", code, msg);
56 49 }
... ...
cloud/common/src/main/java/com/sincere/common/model/log/SysLog.java
... ... @@ -1,37 +0,0 @@
1   -package com.sincere.common.model.log;
2   -
3   -import lombok.AllArgsConstructor;
4   -import lombok.Builder;
5   -import lombok.Data;
6   -import lombok.NoArgsConstructor;
7   -
8   -import java.io.Serializable;
9   -import java.util.Date;
10   -
11   -
12   -/**
13   -* @author 作者 owen E-mail: 624191343@qq.com
14   -* @version 创建时间:2017年11月12日 上午22:57:51
15   -* 日志实体
16   - */
17   -@Builder
18   -@Data
19   -@NoArgsConstructor
20   -@AllArgsConstructor
21   -public class SysLog implements Serializable {
22   -
23   - private static final long serialVersionUID = -5398795297842978376L;
24   -
25   - private Long id;
26   -// 用户名
27   - private String username;
28   -// 归属模块
29   - private String module;
30   -// 执行方法的参数值
31   - private String params;
32   - private String remark;
33   -// 是否执行成功
34   - private Boolean flag;
35   -
36   - private Date createTime;
37   -}
cloud/common/src/main/java/com/sincere/common/model/system/LoginAppUser.java
... ... @@ -1,93 +0,0 @@
1   -package com.sincere.common.model.system;
2   -
3   -import com.fasterxml.jackson.annotation.JsonIgnore;
4   -import lombok.Getter;
5   -import lombok.Setter;
6   -import org.springframework.security.core.GrantedAuthority;
7   -import org.springframework.security.core.authority.SimpleGrantedAuthority;
8   -import org.springframework.security.core.userdetails.UserDetails;
9   -import org.springframework.util.CollectionUtils;
10   -
11   -import java.io.Serializable;
12   -import java.util.Collection;
13   -import java.util.HashSet;
14   -import java.util.Set;
15   -
16   -/**
17   - * 用户实体绑定spring security
18   - */
19   -@Getter
20   -@Setter
21   -public class LoginAppUser extends SysUser implements UserDetails {
22   -
23   - /**
24   - *
25   - */
26   - private static final long serialVersionUID = -3685249101751401211L;
27   -
28   - private Set<SysRole> sysRoles;
29   -
30   - private Set<String> permissions;
31   -
32   - /***
33   - * 权限重写
34   - */
35   - @JsonIgnore
36   - @Override
37   - public Collection<? extends GrantedAuthority> getAuthorities() {
38   - Collection<GrantedAuthority> collection = new HashSet<>();
39   - if (!CollectionUtils.isEmpty(sysRoles)) {
40   - sysRoles.parallelStream().forEach(role -> {
41   - if (role.getCode().startsWith("ROLE_")) {
42   - collection.add(new SimpleGrantedAuthority(role.getCode()));
43   - } else {
44   - collection.add(new SimpleGrantedAuthority("ROLE_" + role.getCode()));
45   - }
46   - });
47   - }
48   -
49   - if (!CollectionUtils.isEmpty(permissions)) {
50   - permissions.parallelStream().forEach(per -> {
51   - collection.add(new SimpleGrantedAuthority(per));
52   - });
53   - }
54   -
55   - return collection;
56   - }
57   -
58   -
59   - @JsonIgnore
60   - public Collection<? extends GrantedAuthority> putAll( Collection<GrantedAuthority> collections) {
61   - Collection<GrantedAuthority> collection = new HashSet<>();
62   -
63   - collection.addAll(collections) ;
64   -
65   - return collection;
66   - }
67   -
68   -
69   - @Override
70   - public boolean isAccountNonExpired() {
71   - return true;
72   - }
73   -
74   - @Override
75   - public boolean isAccountNonLocked() {
76   - return true;
77   - }
78   -
79   - @Override
80   - public boolean isCredentialsNonExpired() {
81   - return true;
82   - }
83   -
84   - @Override
85   - public boolean isEnabled() {
86   - return getEnabled();
87   - }
88   -
89   - @Override
90   - protected Serializable pkVal() {
91   - return null;
92   - }
93   -}
cloud/common/src/main/java/com/sincere/common/model/system/SysMenu.java
... ... @@ -1,37 +0,0 @@
1   -package com.sincere.common.model.system;
2   -
3   -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
4   -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
5   -import lombok.Data;
6   -
7   -import java.io.Serializable;
8   -import java.util.Date;
9   -import java.util.List;
10   -import java.util.Set;
11   -
12   -@Data
13   -public class SysMenu implements Serializable {
14   -
15   - private static final long serialVersionUID = 749360940290141180L;
16   - @JsonSerialize(using= ToStringSerializer.class)
17   - private Long id;
18   - private Long parentId;
19   - private String name;
20   - private String css;
21   - private String url;
22   - private String path;
23   - private Integer sort;
24   - private Date createTime;
25   - private Date updateTime;
26   - private Integer isMenu;
27   - private Boolean hidden;
28   -
29   -
30   - private List<SysMenu> subMenus;
31   -
32   - private Long roleId;
33   - private Set<Long> menuIds;
34   -
35   -
36   -
37   -}
cloud/common/src/main/java/com/sincere/common/model/system/SysPermission.java
... ... @@ -1,47 +0,0 @@
1   -package com.sincere.common.model.system;
2   -
3   -import com.baomidou.mybatisplus.annotation.IdType;
4   -import com.baomidou.mybatisplus.annotation.TableField;
5   -import com.baomidou.mybatisplus.annotation.TableId;
6   -import com.baomidou.mybatisplus.annotation.TableName;
7   -import com.baomidou.mybatisplus.extension.activerecord.Model;
8   -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
9   -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
10   -import lombok.Data;
11   -
12   -import java.io.Serializable;
13   -import java.util.Date;
14   -import java.util.Set;
15   -
16   -
17   -/**
18   - * @author 作者 owen E-mail: 624191343@qq.com
19   - * @version 创建时间:2017年11月12日 上午22:57:51
20   - * 权限标识
21   - */
22   -@Data
23   -@TableName("sys_permission")
24   -public class SysPermission extends Model<SysPermission> implements Serializable {
25   - /**
26   - *
27   - */
28   - private static final long serialVersionUID = 1389727646460449239L;
29   - @TableId(value="id",type= IdType.ID_WORKER) //雪花算法 id生成策略
30   - @JsonSerialize(using= ToStringSerializer.class)
31   - private Long id;
32   - private String permission;
33   - private String name;
34   - @TableField(value="createTime")
35   - private Date createTime;
36   - @TableField(value="updateTime")
37   - private Date updateTime;
38   - @TableField(exist=false)
39   - private Long roleId;
40   - @TableField(exist=false)
41   - private Set<Long> authIds;
42   -
43   - @Override
44   - protected Serializable pkVal() {
45   - return null;
46   - }
47   -}
cloud/common/src/main/java/com/sincere/common/model/system/SysRole.java
... ... @@ -1,29 +0,0 @@
1   -package com.sincere.common.model.system;
2   -
3   -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
4   -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
5   -import lombok.Data;
6   -
7   -import java.io.Serializable;
8   -import java.util.Date;
9   -
10   -/**
11   - * @author 作者 owen E-mail: 624191343@qq.com
12   - * @version 创建时间:2017年11月12日 上午22:57:51
13   - * 角色
14   - */
15   -@Data
16   -public class SysRole implements Serializable {
17   -
18   - /**
19   - *
20   - */
21   - private static final long serialVersionUID = 4497149010220586111L;
22   - @JsonSerialize(using= ToStringSerializer.class)
23   - private Long id;
24   - private String code;
25   - private String name;
26   - private Date createTime;
27   - private Date updateTime;
28   - private Long userId;
29   -}
cloud/common/src/main/java/com/sincere/common/model/system/SysUser.java
... ... @@ -1,60 +0,0 @@
1   -package com.sincere.common.model.system;
2   -
3   -import com.baomidou.mybatisplus.annotation.IdType;
4   -import com.baomidou.mybatisplus.annotation.TableField;
5   -import com.baomidou.mybatisplus.annotation.TableId;
6   -import com.baomidou.mybatisplus.annotation.TableName;
7   -import com.baomidou.mybatisplus.extension.activerecord.Model;
8   -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
9   -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
10   -import lombok.Data;
11   -
12   -import java.io.Serializable;
13   -import java.util.Date;
14   -import java.util.List;
15   -
16   -/**
17   - * @author 作者 owen E-mail: 624191343@qq.com
18   - * @version 创建时间:2017年11月12日 上午22:57:51
19   - * 用户实体
20   - */
21   -@Data
22   -@TableName("sys_user")
23   -public class SysUser extends Model<SysUser> implements Serializable {
24   -
25   - /**
26   - *
27   - */
28   - private static final long serialVersionUID = -5886012896705137070L;
29   - @TableId(value="id",type= IdType.ID_WORKER) //雪花算法 id生成策略
30   - @JsonSerialize(using= ToStringSerializer.class)
31   - private Long id;
32   - private String username;
33   - private String password;
34   - private String nickname;
35   - private String headImgUrl;
36   - private String phone;
37   - private Integer sex;
38   - private Boolean enabled;
39   - private String type;
40   - @TableField(value="createTime")
41   - private Date createTime;
42   - @TableField(value="updateTime")
43   - private Date updateTime;
44   -
45   - @TableField(exist=false)
46   - private List<SysRole> roles;
47   -
48   - @TableField(exist=false)
49   - private String roleId;
50   -
51   - @TableField(exist=false)
52   - private String oldPassword;
53   - @TableField(exist=false)
54   - private String newPassword;
55   -
56   - @Override
57   - protected Serializable pkVal() {
58   - return null;
59   - }
60   -}
cloud/common/src/main/java/com/sincere/common/model/system/SysUserRole.java
... ... @@ -1,18 +0,0 @@
1   -package com.sincere.common.model.system;
2   -
3   -import lombok.Data;
4   -
5   -/**
6   - * @Author: [gitgeek]
7   - * @Date: [2018-08-06 21:29]
8   - * @Description: [ ]
9   - * @Version: [1.0.0]
10   - * @Copy: [com.zzg]
11   - */
12   -@Data
13   -public class SysUserRole {
14   -
15   - private String userId;
16   - private String roleId;
17   -
18   -}
cloud/common/src/main/java/com/sincere/common/model/system/constants/UserType.java
... ... @@ -1,19 +0,0 @@
1   -package com.sincere.common.model.system.constants;
2   -
3   -
4   -/**
5   - * @author 作者 owen E-mail: 624191343@qq.com
6   - * @version 创建时间:2017年11月12日 上午22:57:51
7   - * 用户类型
8   - */
9   -public enum UserType {
10   -
11   - /**
12   - * 前端app用户
13   - */
14   - APP,
15   - /**
16   - * 后端管理用户
17   - */
18   - BACKEND
19   -}
cloud/common/src/main/java/com/sincere/common/util/DateUtils.java 0 → 100644
... ... @@ -0,0 +1,67 @@
  1 +package com.sincere.common.util;
  2 +
  3 +import java.text.ParseException;
  4 +import java.text.SimpleDateFormat;
  5 +import java.util.Date;
  6 +
  7 +/**
  8 + * @author chen
  9 + * @version 1.0
  10 + * @date 2019/10/14 0014 14:16
  11 + */
  12 +public class DateUtils {
  13 +
  14 + public static String format = "yyyy";
  15 +
  16 + public static String format1 = "yyyy-MM-dd";
  17 +
  18 + public static String format2 = "yyyy-MM-dd HH:mm:ss";
  19 +
  20 + public static long getDate(){
  21 + return System.currentTimeMillis();
  22 + }
  23 +
  24 + public static String date2String(Date date, String format) {
  25 + SimpleDateFormat sdf = new SimpleDateFormat(format);
  26 + return sdf.format(date);
  27 + }
  28 +
  29 + public static Date string2Date(String date, String format) {
  30 + try{
  31 + SimpleDateFormat sdf = new SimpleDateFormat(format);
  32 + return sdf.parse(date);
  33 + }catch (Exception e){
  34 +
  35 + }
  36 + return new Date();
  37 + }
  38 +
  39 + public static Date getToday(){
  40 + return new Date();
  41 + }
  42 +
  43 + public static String getToday(String format) throws ParseException{
  44 + SimpleDateFormat sdf = new SimpleDateFormat(format);
  45 + return sdf.format(new Date());
  46 + }
  47 +
  48 + public static int getDateDifference(Date date1, Date date2, String timeType) {
  49 + int between = (int) (date1.getTime() - date2.getTime());
  50 + int difference = 0;
  51 + switch (timeType) {
  52 + case "day":
  53 + difference = between / (24 * 60 * 60 * 1000);
  54 + break;
  55 + case "hour":
  56 + difference = between / (60 * 60 * 1000);
  57 + break;
  58 + case "min":
  59 + difference = between / (60 * 1000);
  60 + break;
  61 + case "s":
  62 + difference = between / 1000;
  63 + }
  64 + return difference;
  65 + }
  66 +
  67 +}
... ...
cloud/common/src/main/java/com/sincere/common/util/UserUtil.java
... ... @@ -29,7 +29,7 @@ public class UserUtil {
29 29 return null;
30 30 }
31 31 String token = authorization.split(" ")[1];
32   - log.info("获取token成功,值为{}", token);
  32 + //log.info("获取token成功,值为{}", token);
33 33 return token;
34 34 }
35 35  
... ... @@ -56,7 +56,7 @@ public class UserUtil {
56 56 }
57 57 Claims claims = getClaims(token);
58 58 Integer userId = (Integer) claims.get(UserConstants.USER_ID);
59   - log.info("获取userId成功,值为", userId);
  59 + //log.info("获取userId成功,值为", userId);
60 60 return userId;
61 61 }
62 62  
... ... @@ -72,7 +72,7 @@ public class UserUtil {
72 72 }
73 73 Claims claims = getClaims(token);
74 74 String username = (String) claims.get(UserConstants.USER_NAME);
75   - log.info("获取username成功,值为", username);
  75 + //log.info("获取username成功,值为", username);
76 76 return username;
77 77 }
78 78  
... ...
cloud/common/src/main/resources/application.properties
No preview for this file type
cloud/consumer/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.example</groupId>
12 11 <artifactId>consumer</artifactId>
... ...
cloud/dahua/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.example</groupId>
12 11 <artifactId>dahua</artifactId>
... ...
cloud/geteway/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.example</groupId>
12 11 <artifactId>geteway</artifactId>
... ...
cloud/haikang/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.sincere.haikang</groupId>
12 11 <artifactId>haikang</artifactId>
... ...
cloud/haikangface/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.sincere</groupId>
12 11 <artifactId>haikangface</artifactId>
... ...
cloud/mypulsar/pom.xml
... ... @@ -3,10 +3,9 @@
3 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4 4 <modelVersion>4.0.0</modelVersion>
5 5 <parent>
6   - <groupId>org.springframework.boot</groupId>
7   - <artifactId>spring-boot-starter-parent</artifactId>
8   - <version>2.1.6.RELEASE</version>
9   - <relativePath/> <!-- lookup parent from repository -->
  6 + <artifactId>cloud</artifactId>
  7 + <groupId>com.sincere</groupId>
  8 + <version>1.0.0</version>
10 9 </parent>
11 10  
12 11 <!--<packaging>war</packaging>-->
... ...
cloud/pom.xml
... ... @@ -2,11 +2,11 @@
2 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4 4 <modelVersion>4.0.0</modelVersion>
  5 + <packaging>pom</packaging>
5 6 <parent>
6 7 <groupId>org.springframework.boot</groupId>
7 8 <artifactId>spring-boot-starter-parent</artifactId>
8 9 <version>2.1.6.RELEASE</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 10 </parent>
11 11 <groupId>com.sincere</groupId>
12 12 <artifactId>cloud</artifactId>
... ... @@ -24,6 +24,10 @@
24 24 <module>dahua</module>
25 25 <module>consumer</module>
26 26 <module>haikangface</module>
  27 + <module>smartCampus_search</module>
  28 + <module>xiaoan_search</module>
  29 + <module>mypulsar</module>
  30 + <module>weigeng</module>
27 31 </modules>
28 32  
29 33 <properties>
... ... @@ -73,14 +77,4 @@
73 77 </dependency>
74 78 </dependencies>
75 79 </dependencyManagement>
76   -
77   - <build>
78   - <plugins>
79   - <plugin>
80   - <groupId>org.springframework.boot</groupId>
81   - <artifactId>spring-boot-maven-plugin</artifactId>
82   - </plugin>
83   - </plugins>
84   - </build>
85   -
86 80 </project>
... ...
cloud/server1/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.sincere</groupId>
12 11 <artifactId>server1</artifactId>
... ...
cloud/server2/pom.xml
... ... @@ -6,7 +6,6 @@
6 6 <groupId>com.sincere</groupId>
7 7 <artifactId>cloud</artifactId>
8 8 <version>1.0.0</version>
9   - <relativePath/> <!-- lookup parent from repository -->
10 9 </parent>
11 10 <groupId>com.sincere</groupId>
12 11 <artifactId>server2</artifactId>
... ...
cloud/smartCampus_search/pom.xml 0 → 100644
... ... @@ -0,0 +1,208 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>cloud</artifactId>
  7 + <groupId>com.sincere</groupId>
  8 + <version>1.0.0</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 +
  12 + <artifactId>smartCampus_search</artifactId>
  13 +
  14 + <dependencies>
  15 + <dependency>
  16 + <groupId>com.sincere</groupId>
  17 + <artifactId>common</artifactId>
  18 + <version>0.0.1-SNAPSHOT</version>
  19 + </dependency>
  20 + <dependency>
  21 + <groupId>io.netty</groupId>
  22 + <artifactId>netty-all</artifactId>
  23 + <version>4.1.33.Final</version>
  24 + </dependency>
  25 + <dependency>
  26 + <groupId>org.apache.mina</groupId>
  27 + <artifactId>mina-core</artifactId>
  28 + <version>2.1.3</version>
  29 + </dependency>
  30 + <dependency>
  31 + <groupId>com.microsoft.sqlserver</groupId>
  32 + <artifactId>mssql-jdbc</artifactId>
  33 + <version>6.4.0.jre8</version>
  34 + </dependency>
  35 + <!-- spring boot -->
  36 + <dependency>
  37 + <groupId>org.springframework.boot</groupId>
  38 + <artifactId>spring-boot-starter</artifactId>
  39 + </dependency>
  40 + <dependency>
  41 + <groupId>org.springframework.boot</groupId>
  42 + <artifactId>spring-boot-starter-web</artifactId>
  43 + </dependency>
  44 + <dependency>
  45 + <groupId>org.springframework.boot</groupId>
  46 + <artifactId>spring-boot-starter-aop</artifactId>
  47 + </dependency>
  48 + <!-- spring boot -->
  49 + <dependency>
  50 + <groupId>com.googlecode.rapid-framework</groupId>
  51 + <artifactId>rapid-core</artifactId>
  52 + <version>4.0.5</version>
  53 + </dependency>
  54 + <dependency>
  55 + <groupId>org.apache.commons</groupId>
  56 + <artifactId>commons-lang3</artifactId>
  57 + <version>3.3.2</version>
  58 + </dependency>
  59 + <!--只有slf4j-api依赖-->
  60 + <dependency>
  61 + <groupId>org.slf4j</groupId>
  62 + <artifactId>slf4j-api</artifactId>
  63 + <version>1.7.13</version>
  64 + </dependency>
  65 +
  66 + <dependency>
  67 + <groupId>commons-net</groupId>
  68 + <artifactId>commons-net</artifactId>
  69 + <version>2.0</version>
  70 + </dependency>
  71 + <dependency>
  72 + <groupId>org.apache.poi</groupId>
  73 + <artifactId>poi</artifactId>
  74 + <version>4.1.0</version>
  75 + </dependency>
  76 +
  77 + <dependency>
  78 + <groupId>org.apache.poi</groupId>
  79 + <artifactId>poi-ooxml</artifactId>
  80 + <version>4.1.0</version>
  81 + </dependency>
  82 +
  83 + <dependency>
  84 + <groupId>org.mybatis.spring.boot</groupId>
  85 + <artifactId>mybatis-spring-boot-starter</artifactId>
  86 + <version>1.3.0</version>
  87 + </dependency>
  88 + <dependency>
  89 + <groupId>com.alibaba</groupId>
  90 + <artifactId>druid</artifactId>
  91 + <version>1.0.11</version>
  92 + </dependency>
  93 + <dependency>
  94 + <groupId>io.springfox</groupId>
  95 + <artifactId>springfox-swagger2</artifactId>
  96 + <version>2.6.1</version>
  97 + </dependency>
  98 + <dependency>
  99 + <groupId>io.springfox</groupId>
  100 + <artifactId>springfox-swagger-ui</artifactId>
  101 + <version>2.6.1</version>
  102 + </dependency>
  103 + </dependencies>
  104 + <repositories>
  105 + <repository>
  106 + <id>spring-snapshots</id>
  107 + <name>Spring Snapshots</name>
  108 + <url>https://repo.spring.io/snapshot</url>
  109 + <snapshots>
  110 + <enabled>true</enabled>
  111 + </snapshots>
  112 + </repository>
  113 + <repository>
  114 + <id>spring-milestones</id>
  115 + <name>Spring Milestones</name>
  116 + <url>https://repo.spring.io/milestone</url>
  117 + <snapshots>
  118 + <enabled>false</enabled>
  119 + </snapshots>
  120 + </repository>
  121 + </repositories>
  122 +
  123 +
  124 + <build>
  125 + <!--打包文件名-->
  126 + <finalName>smartCampusSearch</finalName>
  127 + <!--打包方式-->
  128 + <plugins>
  129 + <!-- 设置编译版本 -->
  130 + <plugin>
  131 + <groupId>org.apache.maven.plugins</groupId>
  132 + <artifactId>maven-compiler-plugin</artifactId>
  133 + <version>3.1</version>
  134 + <configuration>
  135 + <source>1.8</source>
  136 + <target>1.8</target>
  137 + <encoding>UTF-8</encoding>
  138 + </configuration>
  139 + </plugin>
  140 + <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
  141 + <!-- 本地启动需要注释-->
  142 + <plugin>
  143 + <groupId>org.apache.maven.plugins</groupId>
  144 + <artifactId>maven-jar-plugin</artifactId>
  145 + <configuration>
  146 + <archive>
  147 + <manifest>
  148 + <mainClass>com.sincere.smartSearch.SmartSearchApplication</mainClass>
  149 + <addClasspath>true</addClasspath>
  150 + <classpathPrefix>lib/</classpathPrefix>
  151 + </manifest>
  152 + <manifestEntries>
  153 + <Class-Path>./config/</Class-Path>
  154 + </manifestEntries>
  155 + </archive>
  156 + <excludes>
  157 + <exclude>config/**</exclude>
  158 + </excludes>
  159 + <classesDirectory></classesDirectory>
  160 + </configuration>
  161 + </plugin>
  162 + <!-- 拷贝依赖的jar包到lib目录 -->
  163 + <plugin>
  164 + <groupId>org.apache.maven.plugins</groupId>
  165 + <artifactId>maven-dependency-plugin</artifactId>
  166 + <executions>
  167 + <execution>
  168 + <id>copy</id>
  169 + <phase>package</phase>
  170 + <goals>
  171 + <goal>copy-dependencies</goal>
  172 + </goals>
  173 + <configuration>
  174 + <outputDirectory>
  175 + ${project.build.directory}/lib
  176 + </outputDirectory>
  177 + </configuration>
  178 + </execution>
  179 + </executions>
  180 + </plugin>
  181 + <!-- 解决资源文件的编码问题 -->
  182 + <plugin>
  183 + <groupId>org.apache.maven.plugins</groupId>
  184 + <artifactId>maven-resources-plugin</artifactId>
  185 + <version>2.5</version>
  186 + <configuration>
  187 + <encoding>UTF-8</encoding>
  188 + </configuration>
  189 + </plugin>
  190 + <!-- 打包source文件为jar文件 -->
  191 + <plugin>
  192 + <artifactId>maven-source-plugin</artifactId>
  193 + <version>2.2</version>
  194 + <configuration>
  195 + <attach>true</attach>
  196 + </configuration>
  197 + <executions>
  198 + <execution>
  199 + <phase>compile</phase>
  200 + <goals>
  201 + <goal>jar</goal>
  202 + </goals>
  203 + </execution>
  204 + </executions>
  205 + </plugin>
  206 + </plugins>
  207 + </build>
  208 +</project>
0 209 \ No newline at end of file
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/SmartSearchApplication.java 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +package com.sincere.smartSearch;
  2 +
  3 +import org.mybatis.spring.annotation.MapperScan;
  4 +import org.springframework.boot.SpringApplication;
  5 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  6 +import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  7 +
  8 +/**
  9 + * @author chen
  10 + * @version 1.0
  11 + * @date 2019/11/7 0007 15:06
  12 + */
  13 +@EnableEurekaClient
  14 +@SpringBootApplication
  15 +@MapperScan("com.sincere.smartSearch.mapper")
  16 +public class SmartSearchApplication {
  17 +
  18 + public static void main(String[] args) {
  19 + SpringApplication.run(SmartSearchApplication.class, args);
  20 + }
  21 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/controller/WgController.java 0 → 100644
... ... @@ -0,0 +1,114 @@
  1 +package com.sincere.smartSearch.controller;
  2 +
  3 +import com.sincere.common.dto.smartCampus.SchoolDto;
  4 +import com.sincere.common.dto.smartCampus.StudentCardDto;
  5 +import com.sincere.common.dto.smartCampus.UpdateCardDto;
  6 +import com.sincere.common.dto.smartCampus.UserDto;
  7 +import com.sincere.smartSearch.model.School;
  8 +import com.sincere.smartSearch.model.StudentCard;
  9 +import com.sincere.smartSearch.model.UpdateCard;
  10 +import com.sincere.smartSearch.model.User;
  11 +import com.sincere.smartSearch.service.DeviceService;
  12 +import com.sincere.smartSearch.service.WgUserSearchService;
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.web.bind.annotation.RequestMapping;
  15 +import org.springframework.web.bind.annotation.RequestMethod;
  16 +import org.springframework.web.bind.annotation.RequestParam;
  17 +import org.springframework.web.bind.annotation.RestController;
  18 +
  19 +import java.nio.file.attribute.UserDefinedFileAttributeView;
  20 +
  21 +/**
  22 + * @author chen
  23 + * @version 1.0
  24 + * @date 2019/11/7 0007 15:47
  25 + */
  26 +@RestController
  27 +@RequestMapping("/sm/wg")
  28 +public class WgController {
  29 +
  30 + @Autowired
  31 + DeviceService deviceService;
  32 +
  33 + @Autowired
  34 + WgUserSearchService wgUserSearchService;
  35 +
  36 + @RequestMapping(value = "updateLinkTime",method = RequestMethod.GET)
  37 + int updateLinkTime(@RequestParam("sno") String sno){
  38 + return deviceService.updateLinkTime(sno);
  39 + }
  40 +
  41 + @RequestMapping(value = "selectOutOrderId",method = RequestMethod.GET)
  42 + String selectOutOrderId(@RequestParam("type") int type, @RequestParam("insideOrderId") int insideOrderId){
  43 + return deviceService.selectOutOrderId(type,insideOrderId);
  44 + }
  45 +
  46 + @RequestMapping(value = "checkLeave",method = RequestMethod.GET)
  47 + String checkLeave(@RequestParam("cardNo") String cardNo){
  48 + return wgUserSearchService.checkLeave(cardNo);
  49 + }
  50 +
  51 + @RequestMapping(value = "selectSchoolBySchoolId",method = RequestMethod.GET)
  52 + SchoolDto selectSchoolBySchoolId(@RequestParam("schoolId") int schoolId){
  53 + School school = wgUserSearchService.selectSchoolBySchoolId(schoolId);
  54 + return toSchoolDto(school);
  55 + }
  56 +
  57 + @RequestMapping(value = "selectUserByCardNum",method = RequestMethod.GET)
  58 + UserDto selectUserByCardNum(@RequestParam("cardNum") String cardNum){
  59 + User user = wgUserSearchService.selectUserByCardNum(cardNum);
  60 + return toUserDto(user);
  61 + }
  62 +
  63 + @RequestMapping(value = "selectUpdateCardByUpdateId",method = RequestMethod.GET)
  64 + UpdateCardDto selectUpdateCardByUpdateId(@RequestParam("updateId") int updateId){
  65 + UpdateCard updateCard = wgUserSearchService.selectUpdateCardByUpdateId(updateId);
  66 + return toUpdateCardDto(updateCard);
  67 + }
  68 +
  69 + @RequestMapping(value = "selectStudentCard",method = RequestMethod.GET)
  70 + StudentCardDto selectStudentCard(@RequestParam("cardNum") String cardNum){
  71 + StudentCard studentCard = wgUserSearchService.selectStudentCard(cardNum);
  72 + return toStudentCardDto(studentCard);
  73 + }
  74 +
  75 +
  76 + private SchoolDto toSchoolDto(School school){
  77 + SchoolDto schoolDto = new SchoolDto();
  78 + if(school != null){
  79 + schoolDto.setSchoolId(school.getSchoolId());
  80 + schoolDto.setSchoolName(school.getSchoolName());
  81 + }
  82 + return schoolDto;
  83 + }
  84 +
  85 + private UserDto toUserDto(User user){
  86 + UserDto userDto = new UserDto();
  87 + if(user != null){
  88 + userDto.setClassId(user.getClassId());
  89 + userDto.setName(user.getName());
  90 + userDto.setSchoolId(user.getSchoolId());
  91 + userDto.setStudentId(user.getStudentId());
  92 + }
  93 + return userDto;
  94 + }
  95 +
  96 + private UpdateCardDto toUpdateCardDto(UpdateCard updateCard){
  97 + UpdateCardDto updateCardDto = new UpdateCardDto();
  98 + if(updateCard != null){
  99 + updateCardDto.setId(updateCard.getId());
  100 + updateCardDto.setOldCard(updateCard.getOldCard());
  101 + updateCard.setUserType(updateCard.getUserType());
  102 + }
  103 + return updateCardDto;
  104 + }
  105 +
  106 + private StudentCardDto toStudentCardDto(StudentCard studentCard){
  107 + StudentCardDto studentCardDto = new StudentCardDto();
  108 + if(studentCard != null){
  109 + studentCardDto.setCardNum(studentCard.getCardNum());
  110 + studentCardDto.setCardType(studentCard.getCardType());
  111 + }
  112 + return studentCardDto;
  113 + }
  114 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/mapper/DeviceMapper.java 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +package com.sincere.smartSearch.mapper;
  2 +
  3 +import com.sincere.smartSearch.model.DeviceLink;
  4 +import com.sincere.smartSearch.model.DeviceOrder;
  5 +
  6 +/**
  7 + * @author chen
  8 + * @version 1.0
  9 + * @date 2019/10/12 0012 16:27
  10 + */
  11 +public interface DeviceMapper {
  12 +
  13 + int updateLinkTime(DeviceLink deviceLink);
  14 +
  15 + int insertLink(DeviceLink deviceLink);
  16 +
  17 + String selectOutOrderId(DeviceOrder deviceOrder);
  18 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/mapper/WgUserSearchMapper.java 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +package com.sincere.smartSearch.mapper;
  2 +
  3 +import com.sincere.smartSearch.model.School;
  4 +import com.sincere.smartSearch.model.StudentCard;
  5 +import com.sincere.smartSearch.model.UpdateCard;
  6 +import com.sincere.smartSearch.model.User;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * @author chen
  12 + * @version 1.0
  13 + * @date 2019/10/14 0014 14:36
  14 + */
  15 +public interface WgUserSearchMapper {
  16 +
  17 + String checkLeave(String cardNo);
  18 +
  19 + School selectSchoolBySchoolId(int schoolId);
  20 +
  21 + List<User> selectUserByCardNum(String cardNum);
  22 +
  23 + UpdateCard selectUpdateCardByUpdateId(int updateId);
  24 +
  25 + List<StudentCard> selectStudentCard(String cardNum);
  26 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/model/DeviceLink.java 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +package com.sincere.smartSearch.model;
  2 +
  3 +import java.util.Date;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/10/12 0012 16:24
  9 + */
  10 +public class DeviceLink {
  11 +
  12 + private String deviceNo ;
  13 + private Date lastTime ;
  14 + private int isRelation ;
  15 +
  16 + public String getDeviceNo() {
  17 + return deviceNo;
  18 + }
  19 +
  20 + public void setDeviceNo(String deviceNo) {
  21 + this.deviceNo = deviceNo;
  22 + }
  23 +
  24 + public Date getLastTime() {
  25 + return lastTime;
  26 + }
  27 +
  28 + public void setLastTime(Date lastTime) {
  29 + this.lastTime = lastTime;
  30 + }
  31 +
  32 + public int getIsRelation() {
  33 + return isRelation;
  34 + }
  35 +
  36 + public void setIsRelation(int isRelation) {
  37 + this.isRelation = isRelation;
  38 + }
  39 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/model/DeviceOrder.java 0 → 100644
... ... @@ -0,0 +1,28 @@
  1 +package com.sincere.smartSearch.model;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/29 0029 10:23
  7 + */
  8 +public class DeviceOrder {
  9 +
  10 + private int type ;
  11 + private int insideOrderId ;
  12 +
  13 + public int getType() {
  14 + return type;
  15 + }
  16 +
  17 + public void setType(int type) {
  18 + this.type = type;
  19 + }
  20 +
  21 + public int getInsideOrderId() {
  22 + return insideOrderId;
  23 + }
  24 +
  25 + public void setInsideOrderId(int insideOrderId) {
  26 + this.insideOrderId = insideOrderId;
  27 + }
  28 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/model/School.java 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +package com.sincere.smartSearch.model;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/14 0014 14:37
  7 + */
  8 +public class School {
  9 +
  10 + private int schoolId ;
  11 + private String schoolName ;
  12 +
  13 + public int getSchoolId() {
  14 + return schoolId;
  15 + }
  16 +
  17 + public void setSchoolId(int schoolId) {
  18 + this.schoolId = schoolId;
  19 + }
  20 +
  21 + public String getSchoolName() {
  22 + return schoolName;
  23 + }
  24 +
  25 + public void setSchoolName(String schoolName) {
  26 + this.schoolName = schoolName;
  27 + }
  28 +
  29 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/model/StudentCard.java 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +package com.sincere.smartSearch.model;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/14 0014 14:50
  7 + */
  8 +public class StudentCard {
  9 + private String cardType ;
  10 + private String cardNum ;
  11 +
  12 + public String getCardType() {
  13 + return cardType;
  14 + }
  15 +
  16 + public void setCardType(String cardType) {
  17 + this.cardType = cardType;
  18 + }
  19 +
  20 + public String getCardNum() {
  21 + return cardNum;
  22 + }
  23 +
  24 + public void setCardNum(String cardNum) {
  25 + this.cardNum = cardNum;
  26 + }
  27 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/model/UpdateCard.java 0 → 100644
... ... @@ -0,0 +1,36 @@
  1 +package com.sincere.smartSearch.model;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/14 0014 14:46
  7 + */
  8 +public class UpdateCard {
  9 + private int id ;
  10 + private int userType ;
  11 + private String oldCard ;
  12 +
  13 + public int getId() {
  14 + return id;
  15 + }
  16 +
  17 + public void setId(int id) {
  18 + this.id = id;
  19 + }
  20 +
  21 + public int getUserType() {
  22 + return userType;
  23 + }
  24 +
  25 + public void setUserType(int userType) {
  26 + this.userType = userType;
  27 + }
  28 +
  29 + public String getOldCard() {
  30 + return oldCard;
  31 + }
  32 +
  33 + public void setOldCard(String oldCard) {
  34 + this.oldCard = oldCard;
  35 + }
  36 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/model/User.java 0 → 100644
... ... @@ -0,0 +1,46 @@
  1 +package com.sincere.smartSearch.model;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/14 0014 14:41
  7 + */
  8 +public class User {
  9 +
  10 + private int schoolId;
  11 + private int classId ;
  12 + private String name ;
  13 + private int studentId ;
  14 +
  15 + public int getSchoolId() {
  16 + return schoolId;
  17 + }
  18 +
  19 + public void setSchoolId(int schoolId) {
  20 + this.schoolId = schoolId;
  21 + }
  22 +
  23 + public int getClassId() {
  24 + return classId;
  25 + }
  26 +
  27 + public void setClassId(int classId) {
  28 + this.classId = classId;
  29 + }
  30 +
  31 + public String getName() {
  32 + return name;
  33 + }
  34 +
  35 + public void setName(String name) {
  36 + this.name = name;
  37 + }
  38 +
  39 + public int getStudentId() {
  40 + return studentId;
  41 + }
  42 +
  43 + public void setStudentId(int studentId) {
  44 + this.studentId = studentId;
  45 + }
  46 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/service/DeviceService.java 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +package com.sincere.smartSearch.service;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/12 0012 16:30
  7 + */
  8 +public interface DeviceService {
  9 +
  10 + int updateLinkTime(String sno);
  11 +
  12 +
  13 + String selectOutOrderId(int type, int insideOrderId);
  14 +
  15 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/service/WgUserSearchService.java 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +package com.sincere.smartSearch.service;
  2 +
  3 +import com.sincere.smartSearch.model.*;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/10/14 0014 14:55
  9 + */
  10 +public interface WgUserSearchService {
  11 +
  12 +
  13 + String checkLeave(String cardNo);
  14 +
  15 + School selectSchoolBySchoolId(int schoolId);
  16 +
  17 + User selectUserByCardNum(String cardNum);
  18 +
  19 + UpdateCard selectUpdateCardByUpdateId(int updateId);
  20 +
  21 + StudentCard selectStudentCard(String cardNum);
  22 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/service/impl/DeviceServiceImpl.java 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 +package com.sincere.smartSearch.service.impl;
  2 +
  3 +import com.sincere.smartSearch.mapper.DeviceMapper;
  4 +import com.sincere.smartSearch.model.DeviceLink;
  5 +import com.sincere.smartSearch.model.DeviceOrder;
  6 +import com.sincere.smartSearch.service.DeviceService;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.stereotype.Service;
  9 +
  10 +import java.util.Date;
  11 +
  12 +/**
  13 + * @author chen
  14 + * @version 1.0
  15 + * @date 2019/10/12 0012 16:31
  16 + */
  17 +@Service("deviceService")
  18 +public class DeviceServiceImpl implements DeviceService {
  19 +
  20 + @Autowired
  21 + DeviceMapper deviceMapper;
  22 +
  23 + @Override
  24 + public int updateLinkTime(String sno) {
  25 + DeviceLink deviceLink = new DeviceLink();
  26 + deviceLink.setDeviceNo(sno);
  27 + deviceLink.setLastTime(new Date());
  28 + if(deviceMapper.updateLinkTime(deviceLink) > 0){
  29 + //已存在,更新即可
  30 + }else {
  31 + deviceMapper.insertLink(deviceLink);
  32 + }
  33 + return 1 ;
  34 + }
  35 +
  36 + @Override
  37 + public String selectOutOrderId(int type, int insideOrderId) {
  38 + DeviceOrder deviceOrder = new DeviceOrder();
  39 + deviceOrder.setType(type);
  40 + deviceOrder.setInsideOrderId(insideOrderId);
  41 + return deviceMapper.selectOutOrderId(deviceOrder);
  42 + }
  43 +}
... ...
cloud/smartCampus_search/src/main/java/com/sincere/smartSearch/service/impl/WgUserSearchServiceImpl.java 0 → 100644
... ... @@ -0,0 +1,60 @@
  1 +package com.sincere.smartSearch.service.impl;
  2 +
  3 +import com.sincere.smartSearch.mapper.WgUserSearchMapper;
  4 +import com.sincere.smartSearch.model.School;
  5 +import com.sincere.smartSearch.model.StudentCard;
  6 +import com.sincere.smartSearch.model.UpdateCard;
  7 +import com.sincere.smartSearch.model.User;
  8 +import com.sincere.smartSearch.service.WgUserSearchService;
  9 +import org.slf4j.Logger;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.stereotype.Service;
  12 +
  13 +import java.util.List;
  14 +
  15 +/**
  16 + * @author chen
  17 + * @version 1.0
  18 + * @date 2019/10/14 0014 14:55
  19 + */
  20 +@Service("wgUserSearchService")
  21 +public class WgUserSearchServiceImpl implements WgUserSearchService {
  22 +
  23 + @Autowired
  24 + WgUserSearchMapper searchMapper;
  25 +
  26 +
  27 + @Override
  28 + public String checkLeave(String cardNo) {
  29 + return searchMapper.checkLeave(cardNo);
  30 + }
  31 +
  32 + @Override
  33 + public School selectSchoolBySchoolId(int schoolId) {
  34 + return searchMapper.selectSchoolBySchoolId(schoolId);
  35 + }
  36 +
  37 + @Override
  38 + public User selectUserByCardNum(String cardNum) {
  39 + try{
  40 + return searchMapper.selectUserByCardNum(cardNum).get(0);
  41 + }catch (Exception e){
  42 + }
  43 + return new User();
  44 + }
  45 +
  46 + @Override
  47 + public UpdateCard selectUpdateCardByUpdateId(int updateId) {
  48 + return searchMapper.selectUpdateCardByUpdateId(updateId);
  49 + }
  50 +
  51 + @Override
  52 + public StudentCard selectStudentCard(String cardNum) {
  53 + List<StudentCard> list = searchMapper.selectStudentCard(cardNum) ;
  54 + if(list != null && list.size() > 0){
  55 + return list.get(0);
  56 + }else {
  57 + return new StudentCard();
  58 + }
  59 + }
  60 +}
... ...
cloud/smartCampus_search/src/main/resources/application.yml 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +server:
  2 + port: 7777
  3 +spring:
  4 + application:
  5 + name: smartCampusSearch
  6 + datasource:
  7 + username: SZJXTUSER
  8 + password: xst200919
  9 + url: jdbc:sqlserver://60.190.202.57:14333;database=SmartCampusSZ
  10 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  11 +##mybatis
  12 +mybatis:
  13 + mapper-locations: classpath:mapper/*.xml
  14 + type-aliases-package: com.sincere.smartSearch.model
  15 + check-config-location: true
  16 +
  17 +eureka:
  18 + instance:
  19 + hostname: localhost
  20 + lease-expiration-duration-in-seconds: 60
  21 + lease-renewal-interval-in-seconds: 10
  22 + client:
  23 + service-url:
  24 + defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
  25 +
  26 +
  27 +
... ...
cloud/smartCampus_search/src/main/resources/logback.xml 0 → 100644
... ... @@ -0,0 +1,61 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<configuration debug="true">
  3 +     <!-- 项目名称 -->
  4 +     <property name="PROJECT_NAME" value="schedule" />
  5 +
  6 +     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  7 + <!--    <property name="LOG_HOME" value="/opt/web/log/" />-->
  8 + <property name="LOG_HOME" value="D://smartCampus_java//log"/>
  9 +
  10 +     <!-- 控制台输出 -->
  11 +     <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  12 +         <!--<withJansi>true</withJansi>-->
  13 +         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  14 +             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  15 +             <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %highlight([%-5level] %logger{50} - %msg%n)</pattern>
  16 +             <charset>UTF-8</charset>
  17 +         </encoder>
  18 +     </appender>
  19 +
  20 +     <!-- 按照每天生成日志文件 -->
  21 +     <appender name="SYSTEM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  22 +         <!-- 过滤器,只打印ERROR级别的日志 -->
  23 +         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  24 +             <!--日志文件输出的文件名-->
  25 +             <FileNamePattern>${LOG_HOME}/${PROJECT_NAME}.system-dev.%d{yyyy-MM-dd HH}.%i.log</FileNamePattern>
  26 +             <!--日志文件保留天数-->
  27 +             <MaxHistory>30</MaxHistory>
  28 +             <!--日志文件最大的大小-->
  29 +             <MaxFileSize>100MB</MaxFileSize>
  30 +         </rollingPolicy>
  31 +
  32 +         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  33 +             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  34 +             <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern>
  35 +             <charset>UTF-8</charset>
  36 +         </encoder>
  37 +     </appender>
  38 +     <logger name="system_error" additivity="true">
  39 +        <appender-ref ref="SYSTEM_FILE"/>
  40 +    </logger>
  41 +
  42 +    <!-- 设置Spring&Hibernate日志输出级别 -->
  43 +    <logger name="org.springframework" level="WARN" />
  44 +    <logger name="org.mybatis" level="WARN" />
  45 +    <logger name="com.ibatis" level="DEBUG" />
  46 +    <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" />
  47 +    <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG" />
  48 +    <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" />
  49 +
  50 +
  51 +    <logger name="java.sql.Connection" level="DEBUG" />
  52 +    <logger name="java.sql.Statement" level="DEBUG" />
  53 +    <logger name="java.sql.PreparedStatement" level="DEBUG" />
  54 +    <logger name="com.sincere.smartSearch.mapper" level="DEBUG" />
  55 +    <!-- 开发环境下的日志配置 -->
  56 +    <root level="ERROR">
  57 +        <appender-ref ref="CONSOLE" />
  58 +        <appender-ref ref="SYSTEM_FILE" />
  59 +    </root>
  60 +
  61 +</configuration>
0 62 \ No newline at end of file
... ...
cloud/smartCampus_search/src/main/resources/mapper/DeviceMapper.xml 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3 +<mapper namespace="com.sincere.smartSearch.mapper.DeviceMapper" >
  4 +
  5 + <update id="updateLinkTime" parameterType="com.sincere.smartSearch.model.DeviceLink">
  6 + update AC_DeviceLink set LastTime =#{lastTime} where DeviceNo = #{deviceNo}
  7 + </update>
  8 +
  9 + <insert id="insertLink" parameterType="com.sincere.smartSearch.model.DeviceLink">
  10 + insert into AC_DeviceLink(DeviceNo,LastTime,IsRelation)
  11 + values (#{deviceNo},#{lastTime},0)
  12 + </insert>
  13 +
  14 + <select id="selectOutOrderId" parameterType="com.sincere.smartSearch.model.DeviceOrder" resultType="java.lang.String">
  15 + select OutsideOrderID from AC_DeviceOrder where Type = #{type} and InsideOrderID = #{insideOrderId}
  16 + </select>
  17 +</mapper>
0 18 \ No newline at end of file
... ...
cloud/smartCampus_search/src/main/resources/mapper/WgUserSearchMapper.xml 0 → 100644
... ... @@ -0,0 +1,56 @@
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3 +<mapper namespace="com.sincere.smartSearch.mapper.WgUserSearchMapper" >
  4 +
  5 +
  6 + <select id="checkLeave" parameterType="java.lang.String" resultType="java.lang.String">
  7 + select StudentNum from HS_LeaveExaminePassList where StudentNum= #{cardNo}
  8 + and GETDATE() <![CDATA[ > ]]> LeaveTime and GETDATE() <![CDATA[ < ]]> ReturnTime
  9 + </select>
  10 +
  11 + <resultMap id="School" type="com.sincere.smartSearch.model.School" >
  12 + <result column="school_id" property="schoolId" jdbcType="INTEGER" />
  13 + <result column="school_name" property="schoolName" jdbcType="VARCHAR" />
  14 + </resultMap>
  15 +
  16 + <select id="selectSchoolBySchoolId" parameterType="java.lang.Integer" resultMap="School">
  17 + select school_id , school_name from SZ_School where school_id = #{schoolId}
  18 + </select>
  19 +
  20 +
  21 + <resultMap id="User" type="com.sincere.smartSearch.model.User" >
  22 + <result column="school_id" property="schoolId" jdbcType="INTEGER" />
  23 + <result column="class_id" property="classId" jdbcType="INTEGER" />
  24 + <result column="name" property="name" jdbcType="VARCHAR" />
  25 + <result column="student_id" property="studentId" jdbcType="INTEGER" />
  26 + </resultMap>
  27 +
  28 + <select id="selectUserByCardNum" parameterType="java.lang.String" resultMap="User">
  29 + select school_id , class_id ,name ,student_id from
  30 + (select top 1 b.school_id, b.class_id, b.name, student_id from SZ_V_Card a
  31 + inner join SZ_V_School_Student b on a.user_id = b.student_id
  32 + and b.role_state = 1 where a.type = 2 and a.num = #{cardNum}
  33 + union
  34 + select top 1 b.school_id, 0 as class_id, b.name,b.teacher_id as student_id from SZ_V_Card a
  35 + inner join SZ_V_School_Teacher b on a.user_id = b.teacher_id
  36 + and b.role_state = 1 where a.type = 0 and a.num = #{cardNum}
  37 + ) x
  38 + </select>
  39 +
  40 + <resultMap id="UpDateCard" type="com.sincere.smartSearch.model.UpdateCard" >
  41 + <result column="ID" property="id" jdbcType="INTEGER" />
  42 + <result column="UserType" property="userType" jdbcType="INTEGER" />
  43 + <result column="oldCard" property="oldCard" jdbcType="VARCHAR" />
  44 + </resultMap>
  45 + <select id="selectUpdateCardByUpdateId" parameterType="java.lang.Integer" resultMap="UpDateCard">
  46 + select ID ,UserType , OldCard from HS_StudentUpdateCard where ID = #{updateId}
  47 + </select>
  48 +
  49 + <resultMap id="StudentCard" type="com.sincere.smartSearch.model.StudentCard" >
  50 + <result column="CardType" property="cardType" jdbcType="VARCHAR" />
  51 + <result column="CardNum" property="cardNum" jdbcType="VARCHAR" />
  52 + </resultMap>
  53 + <select id="selectStudentCard" parameterType="java.lang.String" resultMap="StudentCard">
  54 + select CardType , CardNum from HS_StudentCards where CardNum = #{cardNum}
  55 + </select>
  56 +</mapper>
0 57 \ No newline at end of file
... ...
cloud/weigeng/libs/sqljdbc4-4.2-6.jar
No preview for this file type
cloud/weigeng/pom.xml
... ... @@ -3,10 +3,9 @@
3 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4 4 <modelVersion>4.0.0</modelVersion>
5 5 <parent>
6   - <groupId>org.springframework.boot</groupId>
7   - <artifactId>spring-boot-starter-parent</artifactId>
8   - <version>2.1.8.RELEASE</version>
9   - <relativePath/> <!-- lookup parent from repository -->
  6 + <artifactId>cloud</artifactId>
  7 + <groupId>com.sincere</groupId>
  8 + <version>1.0.0</version>
10 9 </parent>
11 10 <groupId>com.sincere</groupId>
12 11 <artifactId>weigeng</artifactId>
... ... @@ -14,58 +13,59 @@
14 13 <name>weigeng</name>
15 14 <description>Demo project for Spring Boot</description>
16 15  
17   - <properties>
18   - <java.version>1.8</java.version>
19   - <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
20   - </properties>
  16 +<!-- <properties>-->
  17 +<!-- <java.version>1.8</java.version>-->
  18 +<!-- <spring-cloud.version>Finchley.SR1</spring-cloud.version>-->
  19 +<!-- </properties>-->
21 20  
22 21 <dependencies>
23 22 <dependency>
24   - <groupId>org.springframework.boot</groupId>
25   - <artifactId>spring-boot-starter-web</artifactId>
  23 + <groupId>com.sincere</groupId>
  24 + <artifactId>common</artifactId>
  25 + <version>0.0.1-SNAPSHOT</version>
26 26 </dependency>
27 27 <dependency>
28   - <groupId>org.springframework.cloud</groupId>
29   - <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  28 + <groupId>org.apache.mina</groupId>
  29 + <artifactId>mina-core</artifactId>
  30 + <version>2.1.3</version>
30 31 </dependency>
31   -
32 32 <dependency>
33   - <groupId>com.baidu.aip</groupId>
34   - <artifactId>java-sdk</artifactId>
35   - <version>4.10.0</version>
  33 + <groupId>org.apache.poi</groupId>
  34 + <artifactId>poi</artifactId>
  35 + <version>4.1.0</version>
36 36 </dependency>
37 37  
38 38 <dependency>
39   - <groupId>com.microsoft.sqlserver.jdbc</groupId>
40   - <artifactId>sqljdbc</artifactId>
41   - <scope>system</scope>
42   - <version>1</version>
43   - <systemPath>${project.basedir}/libs/sqljdbc4-4.2-6.jar</systemPath>
  39 + <groupId>org.springframework.boot</groupId>
  40 + <artifactId>spring-boot-starter-test</artifactId>
  41 + <scope>test</scope>
44 42 </dependency>
45   -
46 43 <dependency>
47   - <groupId>org.mybatis.spring.boot</groupId>
48   - <artifactId>mybatis-spring-boot-starter</artifactId>
49   - <version>2.0.1</version>
  44 + <groupId>org.springframework.cloud</groupId>
  45 + <artifactId>spring-cloud-starter-feign</artifactId>
  46 + <version>1.3.6.RELEASE</version>
50 47 </dependency>
51   -
52 48 <dependency>
53   - <groupId>com.drewnoakes</groupId>
54   - <artifactId>metadata-extractor</artifactId>
55   - <version>2.4.0-beta-1</version>
  49 + <groupId>org.springframework.cloud</groupId>
  50 + <artifactId>spring-cloud-openfeign-core</artifactId>
  51 + <version>2.1.2.RELEASE</version>
56 52 </dependency>
57   -
58 53 <dependency>
59   - <groupId>org.apache.poi</groupId>
60   - <artifactId>poi</artifactId>
61   - <version>4.1.0</version>
  54 + <groupId>io.springfox</groupId>
  55 + <artifactId>springfox-swagger2</artifactId>
  56 + <version>2.5.0</version>
62 57 </dependency>
63   -
64 58 <dependency>
65   - <groupId>org.springframework.boot</groupId>
66   - <artifactId>spring-boot-starter-test</artifactId>
67   - <scope>test</scope>
  59 + <groupId>io.springfox</groupId>
  60 + <artifactId>springfox-swagger-ui</artifactId>
  61 + <version>2.5.0</version>
68 62 </dependency>
  63 + <dependency>
  64 + <groupId>org.apache.commons</groupId>
  65 + <artifactId>commons-lang3</artifactId>
  66 + <version>3.3.2</version>
  67 + </dependency>
  68 +
69 69 </dependencies>
70 70  
71 71 <dependencyManagement>
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/AuthService.java
... ... @@ -1,86 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import org.json.JSONObject;
4   -
5   -import java.io.BufferedReader;
6   -import java.io.InputStreamReader;
7   -import java.net.HttpURLConnection;
8   -import java.net.URL;
9   -import java.util.List;
10   -import java.util.Map;
11   -
12   -/**
13   - * 获取token类
14   - */
15   -public class AuthService {
16   - //设置APPID/AK/SK
17   - public static final String APP_ID = "15990462";
18   - public static final String API_KEY = "t70Rzr6SGmfU9S6MrqAkspsY";
19   - public static final String SECRET_KEY = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS ";
20   - /**
21   - * 获取权限token
22   - * @return 返回示例:
23   - * {
24   - * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
25   - * "expires_in": 2592000
26   - * }
27   - */
28   - public static String getAuth() {
29   - // 官网获取的 API Key 更新为你注册的
30   - String clientId = "t70Rzr6SGmfU9S6MrqAkspsY";
31   - // 官网获取的 Secret Key 更新为你注册的
32   - String clientSecret = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS";
33   - return getAuth(clientId, clientSecret);
34   - }
35   -
36   - /**
37   - * 获取API访问token
38   - * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
39   - * @param ak - 百度云官网获取的 API Key
40   - * @param sk - 百度云官网获取的 Securet Key
41   - * @return assess_token 示例:
42   - * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
43   - */
44   - public static String getAuth(String ak, String sk) {
45   - // 获取token地址
46   - String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
47   - String getAccessTokenUrl = authHost
48   - // 1. grant_type为固定参数
49   - + "grant_type=client_credentials"
50   - // 2. 官网获取的 API Key
51   - + "&client_id=" + ak
52   - // 3. 官网获取的 Secret Key
53   - + "&client_secret=" + sk;
54   - try {
55   - URL realUrl = new URL(getAccessTokenUrl);
56   - // 打开和URL之间的连接
57   - HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
58   - connection.setRequestMethod("GET");
59   - connection.connect();
60   - // 获取所有响应头字段
61   - Map<String, List<String>> map = connection.getHeaderFields();
62   - // 遍历所有的响应头字段
63   - for (String key : map.keySet()) {
64   - System.err.println(key + "--->" + map.get(key));
65   - }
66   - // 定义 BufferedReader输入流来读取URL的响应
67   - BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
68   - String result = "";
69   - String line;
70   - while ((line = in.readLine()) != null) {
71   - result += line;
72   - }
73   - /**
74   - * 返回结果示例
75   - */
76   - System.err.println("result:" + result);
77   - JSONObject jsonObject = new JSONObject(result);
78   - String access_token = jsonObject.getString("access_token");
79   - return access_token;
80   - } catch (Exception e) {
81   - System.err.printf("获取token失败!");
82   - e.printStackTrace(System.err);
83   - }
84   - return null;
85   - }
86   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/HomeBean.java
... ... @@ -1,33 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -public class HomeBean {
4   -
5   - private String CreatorUserId;
6   -
7   - private String Title;
8   -
9   -
10   - public String getCreatorUserId() {
11   - return CreatorUserId;
12   - }
13   -
14   - public void setCreatorUserId(String creatorUserId) {
15   - CreatorUserId = creatorUserId;
16   - }
17   -
18   - public String getTitle() {
19   - return Title;
20   - }
21   -
22   - public void setTitle(String title) {
23   - Title = title;
24   - }
25   -
26   - @Override
27   - public String toString() {
28   - return "HomeBean{" +
29   - "CreatorUserId='" + CreatorUserId + '\'' +
30   - ", Title='" + Title + '\'' +
31   - '}';
32   - }
33   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/Homework.java
... ... @@ -1,189 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class Homework implements Serializable {
6   -
7   - private String ID;
8   -
9   - private String CreatorUserId;
10   -
11   - private String PaperId;
12   -
13   - private String Title;
14   -
15   - private int SuggestionTime;
16   -
17   - private String Deadline;
18   -
19   - private int State;
20   -
21   - private String Intime;
22   -
23   - private int SubjectId;
24   -
25   - private int PublishAnswerType;
26   -
27   - private int IsPigai;
28   -
29   - private String StartTime;
30   -
31   - private int TypeId;
32   -
33   - private String QuestionIds;
34   -
35   - private int HomeworkType;
36   -
37   - private int PkgId;
38   -
39   - public String getCreatorUserId() {
40   - return CreatorUserId;
41   - }
42   -
43   - public void setCreatorUserId(String creatorUserId) {
44   - CreatorUserId = creatorUserId;
45   - }
46   -
47   - public String getPaperId() {
48   - return PaperId;
49   - }
50   -
51   - public String getID() {
52   - return ID;
53   - }
54   -
55   - public void setID(String ID) {
56   - this.ID = ID;
57   - }
58   -
59   - @Override
60   - public String toString() {
61   - return "Homework{" +
62   - "ID='" + ID + '\'' +
63   - ", CreatorUserId='" + CreatorUserId + '\'' +
64   - ", PaperId='" + PaperId + '\'' +
65   - ", Title='" + Title + '\'' +
66   - ", SuggestionTime=" + SuggestionTime +
67   - ", Deadline='" + Deadline + '\'' +
68   - ", State=" + State +
69   - ", Intime='" + Intime + '\'' +
70   - ", SubjectId=" + SubjectId +
71   - ", PublishAnswerType=" + PublishAnswerType +
72   - ", IsPigai=" + IsPigai +
73   - ", StartTime='" + StartTime + '\'' +
74   - ", TypeId=" + TypeId +
75   - ", QuestionIds='" + QuestionIds + '\'' +
76   - ", HomeworkType=" + HomeworkType +
77   - ", PkgId=" + PkgId +
78   - '}';
79   - }
80   -
81   - public void setPaperId(String paperId) {
82   - PaperId = paperId;
83   - }
84   -
85   - public String getTitle() {
86   - return Title;
87   - }
88   -
89   - public void setTitle(String title) {
90   - Title = title;
91   - }
92   -
93   - public int getSuggestionTime() {
94   - return SuggestionTime;
95   - }
96   -
97   - public void setSuggestionTime(int suggestionTime) {
98   - SuggestionTime = suggestionTime;
99   - }
100   -
101   - public String getDeadline() {
102   - return Deadline;
103   - }
104   -
105   - public void setDeadline(String deadline) {
106   - Deadline = deadline;
107   - }
108   -
109   - public int getState() {
110   - return State;
111   - }
112   -
113   - public void setState(int state) {
114   - State = state;
115   - }
116   -
117   - public String getIntime() {
118   - return Intime;
119   - }
120   -
121   - public void setIntime(String intime) {
122   - Intime = intime;
123   - }
124   -
125   - public int getSubjectId() {
126   - return SubjectId;
127   - }
128   -
129   - public void setSubjectId(int subjectId) {
130   - SubjectId = subjectId;
131   - }
132   -
133   - public int getPublishAnswerType() {
134   - return PublishAnswerType;
135   - }
136   -
137   - public void setPublishAnswerType(int publishAnswerType) {
138   - PublishAnswerType = publishAnswerType;
139   - }
140   -
141   - public int getIsPigai() {
142   - return IsPigai;
143   - }
144   -
145   - public void setIsPigai(int isPigai) {
146   - IsPigai = isPigai;
147   - }
148   -
149   - public String getStartTime() {
150   - return StartTime;
151   - }
152   -
153   - public void setStartTime(String startTime) {
154   - StartTime = startTime;
155   - }
156   -
157   - public int getTypeId() {
158   - return TypeId;
159   - }
160   -
161   - public void setTypeId(int typeId) {
162   - TypeId = typeId;
163   - }
164   -
165   - public String getQuestionIds() {
166   - return QuestionIds;
167   - }
168   -
169   - public void setQuestionIds(String questionIds) {
170   - QuestionIds = questionIds;
171   - }
172   -
173   - public int getHomeworkType() {
174   - return HomeworkType;
175   - }
176   -
177   - public void setHomeworkType(int homeworkType) {
178   - HomeworkType = homeworkType;
179   - }
180   -
181   - public int getPkgId() {
182   - return PkgId;
183   - }
184   -
185   - public void setPkgId(int pkgId) {
186   - PkgId = pkgId;
187   - }
188   -
189   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/HomeworkReceive.java
... ... @@ -1,34 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class HomeworkReceive implements Serializable {
6   -
7   - private String StudentId;
8   -
9   - private String StudnetAnswerIds;
10   -
11   - public String getStudentId() {
12   - return StudentId;
13   - }
14   -
15   - public void setStudentId(String studentId) {
16   - StudentId = studentId;
17   - }
18   -
19   - public String getStudnetAnswerIds() {
20   - return StudnetAnswerIds;
21   - }
22   -
23   - public void setStudnetAnswerIds(String studnetAnswerIds) {
24   - StudnetAnswerIds = studnetAnswerIds;
25   - }
26   -
27   - @Override
28   - public String toString() {
29   - return "HomeworkReceive{" +
30   - "StudentId='" + StudentId + '\'' +
31   - ", StudnetAnswerIds='" + StudnetAnswerIds + '\'' +
32   - '}';
33   - }
34   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/ImageUtils.java
... ... @@ -1,168 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import com.drew.imaging.ImageMetadataReader;
4   -import com.drew.imaging.jpeg.JpegMetadataReader;
5   -import com.drew.metadata.Directory;
6   -import com.drew.metadata.Metadata;
7   -import com.drew.metadata.Tag;
8   -import com.sun.imageio.plugins.png.PNGImageReader;
9   -import org.apache.commons.lang.StringUtils;
10   -
11   -import javax.imageio.ImageIO;
12   -import java.awt.*;
13   -import java.awt.image.BufferedImage;
14   -import java.io.File;
15   -import java.io.IOException;
16   -import java.util.Iterator;
17   -
18   -public class ImageUtils {
19   -
20   -
21   - /* *//**
22   - * 获取图片正确显示需要旋转的角度(顺时针)
23   - * @return
24   - *//*
25   - public static int getRotateAngleForPhoto(String filePath){
26   - File file = new File(filePath);
27   - int angle = 0;
28   - Metadata metadata;
29   - try {
30   - metadata = JpegMetadataReader.readMetadata(file);
31   - Directory directory = metadata.getDirectory(ExifDirectory.class);
32   - if(directory.containsTag(ExifDirectory.TAG_ORIENTATION)){
33   -
34   - // Exif信息中方向  
35   - int orientation = directory.getInt(ExifDirectory.TAG_ORIENTATION);
36   - // 原图片的方向信息
37   - if(6 == orientation ){
38   - //6旋转90
39   - angle = 90;
40   - }else if( 3 == orientation){
41   - //3旋转180
42   - angle = 180;
43   - }else if( 8 == orientation){
44   - //8旋转90
45   - angle = 270;
46   - }
47   - }
48   - } catch (JpegProcessingException e) {
49   - e.printStackTrace();
50   - } catch (MetadataException e) {
51   - e.printStackTrace();
52   - } catch (IOException e) {
53   - e.printStackTrace();
54   - }
55   - return angle;
56   - }*/
57   -
58   -
59   - /**
60   - * 获得图片调整角度
61   - * make by dongxh 2017年11月1日下午3:40:20
62   - * @param imgFile
63   - * @return
64   - */
65   - public static Integer getImgRotateAngle(String imgFile){
66   - return 0;
67   - /*int angel = 0;
68   - try {
69   - File file = new File(imgFile);
70   - Metadata metadata = ImageMetadataReader.readMetadata(file);
71   - for (Directory directory : metadata.getDirectories()) {
72   - for (Tag tag : directory.getTags()) {
73   - if (tag.getTagType() == ExifDirectoryBase.TAG_ORIENTATION) {
74   - String description = tag.getDescription();
75   -// System.out.println(description);
76   - if (description.contains("90")) {
77   - // 顺时针旋转90度
78   - angel = 90;
79   - } else if (description.contains("180")) {
80   - // 顺时针旋转180度
81   - angel = 180;
82   - } else if (description.contains("270")) {
83   - // 顺时针旋转270度
84   - angel = 270;
85   - }
86   - }
87   - }
88   - }
89   -// System.out.println(angel);
90   - } catch (Exception e) {
91   - e.printStackTrace();
92   - }
93   - return angel;*/
94   - /*Integer angel = 0;
95   - Metadata metadata = null;
96   - try{
97   - if(StringUtils.isBlank(imgFile))return angel;
98   - File _img_file_ = new File(imgFile);
99   - if(!_img_file_.exists())return angel;
100   - metadata = JpegMetadataReader.readMetadata(_img_file_);
101   - Directory directory = metadata.getDirectory(ExifDirectory.class);
102   - Iterator iterator =directory.getTagIterator();
103   - while (iterator.hasNext()){
104   - System.out.println("directory:"+iterator.next().toString());
105   - }
106   - if(directory != null && directory.containsTag(ExifDirectory.TAG_ORIENTATION)){
107   - int orientation = directory.getInt(ExifDirectory.TAG_ORIENTATION);
108   - // 原图片的方向信息
109   - if(6 == orientation ){
110   - //6旋转90
111   - angel = 90;
112   - }else if( 3 == orientation){
113   - //3旋转180
114   - angel = 180;
115   - }else if( 8 == orientation){
116   - //8旋转90
117   - angel = 270;
118   - }
119   - }
120   - }catch(Exception e){
121   - e.printStackTrace();
122   - }
123   - return angel;*/
124   - }
125   -
126   - /**
127   - * 旋转照片
128   - * @return
129   - */
130   - public static String rotatePhonePhoto(String fullPath, int angel){
131   -
132   - BufferedImage src;
133   - try {
134   - src = ImageIO.read(new File(fullPath));
135   - int src_width = src.getWidth(null);
136   - int src_height = src.getHeight(null);
137   -
138   - int swidth=src_width;
139   - int sheight=src_height;
140   -
141   - if(angel==90||angel==270){
142   - swidth = src_height;
143   - sheight= src_width;
144   - }
145   -
146   - Rectangle rect_des = new Rectangle(new Dimension(swidth,sheight));
147   -
148   - BufferedImage res = new BufferedImage(rect_des.width, rect_des.height,BufferedImage.TYPE_INT_RGB);
149   - Graphics2D g2 = res.createGraphics();
150   -
151   - g2.translate((rect_des.width - src_width) / 2,
152   - (rect_des.height - src_height) / 2);
153   - g2.rotate(Math.toRadians(angel), src_width / 2, src_height / 2);
154   -
155   - g2.drawImage(src, null, null);
156   -
157   - ImageIO.write(res, "jpg", new File(fullPath));
158   -
159   - } catch (IOException e) {
160   -
161   - e.printStackTrace();
162   - }
163   -
164   - return fullPath;
165   -
166   - }
167   -
168   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/JiaoCai.java
... ... @@ -1,46 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class JiaoCai implements Serializable {
6   -
7   -
8   - private String ID;
9   -
10   - private String SubjectId;
11   -
12   - private String JiaoCaiName;
13   -
14   - public String getID() {
15   - return ID;
16   - }
17   -
18   - public void setID(String ID) {
19   - this.ID = ID;
20   - }
21   -
22   - public String getSubjectId() {
23   - return SubjectId;
24   - }
25   -
26   - public void setSubjectId(String subjectId) {
27   - SubjectId = subjectId;
28   - }
29   -
30   - public String getJiaoCaiName() {
31   - return JiaoCaiName;
32   - }
33   -
34   - public void setJiaoCaiName(String jiaoCaiName) {
35   - JiaoCaiName = jiaoCaiName;
36   - }
37   -
38   - @Override
39   - public String toString() {
40   - return "JiaoCai{" +
41   - "ID='" + ID + '\'' +
42   - ", SubjectId='" + SubjectId + '\'' +
43   - ", JiaoCaiName='" + JiaoCaiName + '\'' +
44   - '}';
45   - }
46   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/Knowledge.java
... ... @@ -1,44 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class Knowledge implements Serializable {
6   -
7   - private String Name;
8   -
9   - private String SubjectId;
10   -
11   - private String Id;
12   -
13   - public String getId() {
14   - return Id;
15   - }
16   -
17   - public void setId(String id) {
18   - Id = id;
19   - }
20   -
21   - public String getName() {
22   - return Name;
23   - }
24   -
25   - public void setName(String name) {
26   - Name = name;
27   - }
28   -
29   - public String getSubjectId() {
30   - return SubjectId;
31   - }
32   -
33   - public void setSubjectId(String subjectId) {
34   - SubjectId = subjectId;
35   - }
36   -
37   - @Override
38   - public String toString() {
39   - return "Knowledge{" +
40   - "Name='" + Name + '\'' +
41   - ", SubjectId='" + SubjectId + '\'' +
42   - '}';
43   - }
44   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/MyTask.java
... ... @@ -1,30 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import com.baidu.aip.ocr.AipOcr;
4   -import com.baidu.aip.util.Base64Util;
5   -import com.fasterxml.jackson.databind.ObjectMapper;
6   -import org.json.JSONObject;
7   -import org.springframework.boot.ApplicationArguments;
8   -import org.springframework.boot.ApplicationRunner;
9   -import org.springframework.http.HttpEntity;
10   -import org.springframework.http.HttpHeaders;
11   -import org.springframework.http.MediaType;
12   -import org.springframework.http.ResponseEntity;
13   -import org.springframework.stereotype.Component;
14   -import org.springframework.util.LinkedMultiValueMap;
15   -import org.springframework.util.MultiValueMap;
16   -import org.springframework.web.client.RestTemplate;
17   -
18   -import java.util.HashMap;
19   -
20   -@Component
21   -public class MyTask implements ApplicationRunner {
22   -
23   -
24   -
25   - @Override
26   - public void run(ApplicationArguments args) throws Exception {
27   -
28   - System.out.println("authon:" + AuthService.getAuth());
29   - }
30   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/QuestionBean.java
... ... @@ -1,277 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class QuestionBean implements Serializable {
6   -
7   -
8   - private String ID;
9   -
10   - private String Question;
11   -
12   - private String Qtype;
13   -
14   - private String Answer;
15   -
16   - private String CorrectAnswer;
17   -
18   - private String Analysis;
19   -
20   - private String State;
21   -
22   - private String Intime;
23   -
24   - private String ExamineFlag;
25   -
26   - private String ExamineUserId;
27   -
28   - private String CreateUserId;
29   -
30   - private String SubjectId;
31   -
32   - private String SchoolId;
33   -
34   - private String DifficulteId;
35   -
36   - private String KnowledgeId;
37   -
38   - private String ChapterId;
39   -
40   - private String GradeId;
41   -
42   - private String SourceId;
43   -
44   - private String OrderId;
45   -
46   - private String SId;
47   -
48   - private String StemId;
49   -
50   - private String AutomaticCorrection;
51   -
52   - private String PkgId;
53   -
54   - private String PkgType;
55   -
56   - public String getQuestion() {
57   - return Question;
58   - }
59   -
60   - public void setQuestion(String question) {
61   - Question = question;
62   - }
63   -
64   - public String getQtype() {
65   - return Qtype;
66   - }
67   -
68   - public void setQtype(String qtype) {
69   - Qtype = qtype;
70   - }
71   -
72   - public String getAnswer() {
73   - return Answer;
74   - }
75   -
76   - public void setAnswer(String answer) {
77   - Answer = answer;
78   - }
79   -
80   - public String getCorrectAnswer() {
81   - return CorrectAnswer;
82   - }
83   -
84   - public void setCorrectAnswer(String correctAnswer) {
85   - CorrectAnswer = correctAnswer;
86   - }
87   -
88   - public String getAnalysis() {
89   - return Analysis;
90   - }
91   -
92   - public void setAnalysis(String analysis) {
93   - Analysis = analysis;
94   - }
95   -
96   - public String getState() {
97   - return State;
98   - }
99   -
100   - public void setState(String state) {
101   - State = state;
102   - }
103   -
104   - public String getIntime() {
105   - return Intime;
106   - }
107   -
108   - public void setIntime(String intime) {
109   - Intime = intime;
110   - }
111   -
112   - public String getExamineFlag() {
113   - return ExamineFlag;
114   - }
115   -
116   - public void setExamineFlag(String examineFlag) {
117   - ExamineFlag = examineFlag;
118   - }
119   -
120   - public String getExamineUserId() {
121   - return ExamineUserId;
122   - }
123   -
124   - public void setExamineUserId(String examineUserId) {
125   - ExamineUserId = examineUserId;
126   - }
127   -
128   - public String getCreateUserId() {
129   - return CreateUserId;
130   - }
131   -
132   - public void setCreateUserId(String createUserId) {
133   - CreateUserId = createUserId;
134   - }
135   -
136   - public String getSubjectId() {
137   - return SubjectId;
138   - }
139   -
140   - public void setSubjectId(String subjectId) {
141   - SubjectId = subjectId;
142   - }
143   -
144   - public String getSchoolId() {
145   - return SchoolId;
146   - }
147   -
148   - public void setSchoolId(String schoolId) {
149   - SchoolId = schoolId;
150   - }
151   -
152   - public String getDifficulteId() {
153   - return DifficulteId;
154   - }
155   -
156   - public void setDifficulteId(String difficulteId) {
157   - DifficulteId = difficulteId;
158   - }
159   -
160   - public String getKnowledgeId() {
161   - return KnowledgeId;
162   - }
163   -
164   - public void setKnowledgeId(String knowledgeId) {
165   - KnowledgeId = knowledgeId;
166   - }
167   -
168   - public String getChapterId() {
169   - return ChapterId;
170   - }
171   -
172   - public void setChapterId(String chapterId) {
173   - ChapterId = chapterId;
174   - }
175   -
176   - public String getGradeId() {
177   - return GradeId;
178   - }
179   -
180   - public void setGradeId(String gradeId) {
181   - GradeId = gradeId;
182   - }
183   -
184   - public String getSourceId() {
185   - return SourceId;
186   - }
187   -
188   - public void setSourceId(String sourceId) {
189   - SourceId = sourceId;
190   - }
191   -
192   - public String getOrderId() {
193   - return OrderId;
194   - }
195   -
196   - public void setOrderId(String orderId) {
197   - OrderId = orderId;
198   - }
199   -
200   - public String getSId() {
201   - return SId;
202   - }
203   -
204   - public void setSId(String SId) {
205   - this.SId = SId;
206   - }
207   -
208   - public String getStemId() {
209   - return StemId;
210   - }
211   -
212   - public void setStemId(String stemId) {
213   - StemId = stemId;
214   - }
215   -
216   - public String getAutomaticCorrection() {
217   - return AutomaticCorrection;
218   - }
219   -
220   - public void setAutomaticCorrection(String automaticCorrection) {
221   - AutomaticCorrection = automaticCorrection;
222   - }
223   -
224   - public String getPkgId() {
225   - return PkgId;
226   - }
227   -
228   - public void setPkgId(String pkgId) {
229   - PkgId = pkgId;
230   - }
231   -
232   - public String getPkgType() {
233   - return PkgType;
234   - }
235   -
236   - public void setPkgType(String pkgType) {
237   - PkgType = pkgType;
238   - }
239   -
240   - public String getID() {
241   - return ID;
242   - }
243   -
244   - public void setID(String ID) {
245   - this.ID = ID;
246   - }
247   -
248   - @Override
249   - public String toString() {
250   - return "QuestionBean{" +
251   - "ID='" + ID + '\'' +
252   - ", Question='" + Question + '\'' +
253   - ", Qtype='" + Qtype + '\'' +
254   - ", Answer='" + Answer + '\'' +
255   - ", CorrectAnswer='" + CorrectAnswer + '\'' +
256   - ", Analysis='" + Analysis + '\'' +
257   - ", State='" + State + '\'' +
258   - ", Intime='" + Intime + '\'' +
259   - ", ExamineFlag='" + ExamineFlag + '\'' +
260   - ", ExamineUserId='" + ExamineUserId + '\'' +
261   - ", CreateUserId='" + CreateUserId + '\'' +
262   - ", SubjectId='" + SubjectId + '\'' +
263   - ", SchoolId='" + SchoolId + '\'' +
264   - ", DifficulteId='" + DifficulteId + '\'' +
265   - ", KnowledgeId='" + KnowledgeId + '\'' +
266   - ", ChapterId='" + ChapterId + '\'' +
267   - ", GradeId='" + GradeId + '\'' +
268   - ", SourceId='" + SourceId + '\'' +
269   - ", OrderId='" + OrderId + '\'' +
270   - ", SId='" + SId + '\'' +
271   - ", StemId='" + StemId + '\'' +
272   - ", AutomaticCorrection='" + AutomaticCorrection + '\'' +
273   - ", PkgId='" + PkgId + '\'' +
274   - ", PkgType='" + PkgType + '\'' +
275   - '}';
276   - }
277   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentAnswer.java
... ... @@ -1,44 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class StudentAnswer implements Serializable {
6   -
7   - private String ID;
8   -
9   - private String CorrectAnswer;
10   -
11   - private String Answer;
12   -
13   - public String getID() {
14   - return ID;
15   - }
16   -
17   - public String getAnswer() {
18   - return Answer;
19   - }
20   -
21   - public void setAnswer(String answer) {
22   - Answer = answer;
23   - }
24   -
25   - public void setID(String ID) {
26   - this.ID = ID;
27   - }
28   -
29   - public String getCorrectAnswer() {
30   - return CorrectAnswer;
31   - }
32   -
33   - public void setCorrectAnswer(String correctAnswer) {
34   - CorrectAnswer = correctAnswer;
35   - }
36   -
37   - @Override
38   - public String toString() {
39   - return "StudentAnswer{" +
40   - "ID='" + ID + '\'' +
41   - ", CorrectAnswer='" + CorrectAnswer + '\'' +
42   - '}';
43   - }
44   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentBean.java
... ... @@ -1,233 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -import java.util.Date;
5   -
6   -public class StudentBean implements Serializable {
7   -
8   -
9   - private long ID;
10   - private String UserId;
11   -
12   - private String CustomerId;
13   -
14   - private int StudentType;
15   -
16   - private int UserType;
17   -
18   - private String Name;
19   -
20   - private int ClassId;
21   -
22   - private String ClassName;
23   -
24   - private String OldCard;
25   -
26   - private String Card;
27   -
28   - private int SchoolId;
29   -
30   - private int school_id;
31   -
32   - private int IsNew;
33   -
34   - private int UpdateType;
35   -
36   - private Date AddTime;
37   -
38   - private int Sex;
39   -
40   - private String Face;
41   -
42   - private String StudentCode;
43   -
44   - private String student_num;
45   -
46   - private String student_id;
47   -
48   - public String getUserId() {
49   - return UserId;
50   - }
51   -
52   - public void setUserId(String userId) {
53   - UserId = userId;
54   - }
55   -
56   - public String getCustomerId() {
57   - return CustomerId;
58   - }
59   -
60   - public void setCustomerId(String customerId) {
61   - CustomerId = customerId;
62   - }
63   -
64   - public int getStudentType() {
65   - return StudentType;
66   - }
67   -
68   - public void setStudentType(int studentType) {
69   - StudentType = studentType;
70   - }
71   -
72   - public int getUserType() {
73   - return UserType;
74   - }
75   -
76   - public void setUserType(int userType) {
77   - UserType = userType;
78   - }
79   -
80   - public String getName() {
81   - return Name;
82   - }
83   -
84   - public void setName(String name) {
85   - Name = name;
86   - }
87   -
88   - public int getClassId() {
89   - return ClassId;
90   - }
91   -
92   - public void setClassId(int classId) {
93   - ClassId = classId;
94   - }
95   -
96   - public String getClassName() {
97   - return ClassName;
98   - }
99   -
100   - public void setClassName(String className) {
101   - ClassName = className;
102   - }
103   -
104   - public String getOldCard() {
105   - return OldCard;
106   - }
107   -
108   - public void setOldCard(String oldCard) {
109   - OldCard = oldCard;
110   - }
111   -
112   - public String getCard() {
113   - return Card;
114   - }
115   -
116   - public int getSchool_id() {
117   - return school_id;
118   - }
119   -
120   - public void setSchool_id(int school_id) {
121   - this.school_id = school_id;
122   - }
123   -
124   - public String getStudent_num() {
125   - return student_num;
126   - }
127   -
128   - public void setStudent_num(String student_num) {
129   - this.student_num = student_num;
130   - }
131   -
132   - public void setCard(String card) {
133   - Card = card;
134   - }
135   -
136   - public int getSchoolId() {
137   - return SchoolId;
138   - }
139   -
140   - public void setSchoolId(int schoolId) {
141   - SchoolId = schoolId;
142   - }
143   -
144   - public int getIsNew() {
145   - return IsNew;
146   - }
147   -
148   - public void setIsNew(int isNew) {
149   - IsNew = isNew;
150   - }
151   -
152   - public int getUpdateType() {
153   - return UpdateType;
154   - }
155   -
156   - public void setUpdateType(int updateType) {
157   - UpdateType = updateType;
158   - }
159   -
160   - public Date getAddTime() {
161   - return AddTime;
162   - }
163   -
164   - public void setAddTime(Date addTime) {
165   - AddTime = addTime;
166   - }
167   -
168   - public int getSex() {
169   - return Sex;
170   - }
171   -
172   - public void setSex(int sex) {
173   - Sex = sex;
174   - }
175   -
176   - public String getFace() {
177   - return Face;
178   - }
179   -
180   - public void setFace(String face) {
181   - Face = face;
182   - }
183   -
184   - public String getStudentCode() {
185   - return StudentCode;
186   - }
187   -
188   - public void setStudentCode(String studentCode) {
189   - StudentCode = studentCode;
190   - }
191   -
192   - public long getID() {
193   - return ID;
194   - }
195   -
196   - public void setID(long ID) {
197   - this.ID = ID;
198   - }
199   -
200   - public String getStudent_id() {
201   - return student_id;
202   - }
203   -
204   - public void setStudent_id(String student_id) {
205   - this.student_id = student_id;
206   - }
207   -
208   - @Override
209   - public String toString() {
210   - return "StudentBean{" +
211   - "ID=" + ID +
212   - ", UserId='" + UserId + '\'' +
213   - ", CustomerId='" + CustomerId + '\'' +
214   - ", StudentType=" + StudentType +
215   - ", UserType=" + UserType +
216   - ", Name='" + Name + '\'' +
217   - ", ClassId=" + ClassId +
218   - ", ClassName='" + ClassName + '\'' +
219   - ", OldCard='" + OldCard + '\'' +
220   - ", Card='" + Card + '\'' +
221   - ", SchoolId=" + SchoolId +
222   - ", school_id=" + school_id +
223   - ", IsNew=" + IsNew +
224   - ", UpdateType=" + UpdateType +
225   - ", AddTime=" + AddTime +
226   - ", Sex=" + Sex +
227   - ", Face='" + Face + '\'' +
228   - ", StudentCode='" + StudentCode + '\'' +
229   - ", student_num='" + student_num + '\'' +
230   - ", student_id='" + student_id + '\'' +
231   - '}';
232   - }
233   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/StudentInfo.java
... ... @@ -1,57 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class StudentInfo implements Serializable {
6   -
7   - private String student_id;
8   -
9   - private String name;
10   -
11   - private String class_name;
12   -
13   - private String ParentMobile;
14   -
15   - private String studentcode;
16   -
17   -
18   - public String getStudentcode() {
19   - return studentcode;
20   - }
21   -
22   - public void setStudentcode(String studentcode) {
23   - this.studentcode = studentcode;
24   - }
25   -
26   - public String getStudent_id() {
27   - return student_id;
28   - }
29   -
30   - public void setStudent_id(String student_id) {
31   - this.student_id = student_id;
32   - }
33   -
34   - public String getName() {
35   - return name;
36   - }
37   -
38   - public void setName(String name) {
39   - this.name = name;
40   - }
41   -
42   - public String getClass_name() {
43   - return class_name;
44   - }
45   -
46   - public void setClass_name(String class_name) {
47   - this.class_name = class_name;
48   - }
49   -
50   - public String getParentMobile() {
51   - return ParentMobile;
52   - }
53   -
54   - public void setParentMobile(String parentMobile) {
55   - ParentMobile = parentMobile;
56   - }
57   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/Swagger2.java 0 → 100644
... ... @@ -0,0 +1,38 @@
  1 +package com.sincere.weigeng;
  2 +
  3 +import io.swagger.annotations.ApiOperation;
  4 +import org.springframework.context.annotation.Bean;
  5 +import org.springframework.context.annotation.Configuration;
  6 +import springfox.documentation.builders.ApiInfoBuilder;
  7 +import springfox.documentation.builders.PathSelectors;
  8 +import springfox.documentation.builders.RequestHandlerSelectors;
  9 +import springfox.documentation.service.ApiInfo;
  10 +import springfox.documentation.spi.DocumentationType;
  11 +import springfox.documentation.spring.web.plugins.Docket;
  12 +import springfox.documentation.swagger2.annotations.EnableSwagger2;
  13 +
  14 +@EnableSwagger2
  15 +@Configuration //让Spring来加载该类配置
  16 +public class Swagger2 {
  17 +
  18 + @Bean
  19 + public Docket createRestApi() {
  20 + return new Docket(DocumentationType.SWAGGER_2)
  21 + .apiInfo(apiInfo())
  22 + .enableUrlTemplating(true)
  23 + .select()
  24 + // 扫描所有有注解的api,用这种方式更灵活
  25 + .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
  26 + .paths(PathSelectors.any())
  27 + .build();
  28 +
  29 + }
  30 + private ApiInfo apiInfo() {
  31 + return new ApiInfoBuilder()
  32 + .title("Spring Boot中使用Swagger2构建RESTful APIs")
  33 + .description("接口文档")
  34 + .termsOfServiceUrl("")
  35 + .version("1.0")
  36 + .build();
  37 + }
  38 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/TestDao.java
... ... @@ -1,138 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import org.apache.ibatis.annotations.*;
4   -import org.springframework.stereotype.Repository;
5   -
6   -import java.util.List;
7   -
8   -@Repository
9   -@Mapper
10   -public interface TestDao {
11   -
12   -
13   - @Insert("insert into TK_QuestionStem values(#{QuestionStem},#{State},#{Intime})")
14   - int addQuestionStem(@Param("QuestionStem") String QuestionStem, @Param("State") String State, @Param("Intime") String Intime);
15   -
16   - @Insert("insert into TK_Question(Question,Qtype,Answer,CorrectAnswer,Analysis,State,Intime,ExamineFlag,ExamineUserId,CreateUserId,SubjectId,SchoolId,DifficulteId,KnowledgeId,ChapterId,GradeId,SourceId,OrderId,SId," +
17   - "StemId,AutomaticCorrection,PkgId,PkgType) " +
18   - "values(#{Question},#{Qtype},#{Answer},#{CorrectAnswer},#{Analysis},#{State},#{Intime},#{ExamineFlag},#{ExamineUserId}" +
19   - ",#{CreateUserId},#{SubjectId},#{SchoolId},#{DifficulteId},#{KnowledgeId},#{ChapterId},#{GradeId},#{SourceId},#{OrderId},#{SId}" +
20   - ",#{StemId},#{AutomaticCorrection},#{PkgId},#{PkgType})")
21   - int addQuestion(@Param("Question") String Question, @Param("Qtype") String Qtype, @Param("Answer") String Answer, @Param("CorrectAnswer") String CorrectAnswer
22   - , @Param("Analysis") String Analysis, @Param("State") String State, @Param("Intime") String Intime, @Param("ExamineFlag") String ExamineFlag, @Param("ExamineUserId") String ExamineUserId
23   - , @Param("CreateUserId") String CreateUserId, @Param("SubjectId") String SubjectId, @Param("SchoolId") String SchoolId, @Param("DifficulteId") String DifficulteId, @Param("KnowledgeId") String KnowledgeId
24   - , @Param("ChapterId") String ChapterId, @Param("GradeId") String GradeId, @Param("SourceId") String SourceId, @Param("OrderId") String OrderId, @Param("SId") String SId
25   - , @Param("StemId") String StemId, @Param("AutomaticCorrection") String AutomaticCorrection, @Param("PkgId") String PkgId, @Param("PkgType") String PkgType);
26   -
27   - @Select("select Top(1) ID from TK_QuestionStem order by Intime desc ")
28   - int getStemId();
29   -
30   - @Select("select * from TK_Question where Question like #{Question}")
31   - List<QuestionBean> getQuestions(@Param("Question")String Question);
32   -
33   - @Update("update TK_Question set CorrectAnswer = #{answer},Analysis = #{explanation} where ID = #{id}")
34   - void updateQuestion(@Param("id") String id, @Param("answer") String answer, @Param("explanation") String explanation);
35   -
36   -
37   - //学生做作业
38   - @Insert("insert into ZY_StudentAnswer (QuestionId,Answer,CorrectAnswer,QuestionType,IsCorrect,WorkID) values (" +
39   - "#{QuestionId},#{Answer},#{CorrectAnswer},#{QuestionType},#{IsCorrect},#{WorkID})")
40   - void StudentAnswer(@Param("QuestionId")String QuestionId,@Param("Answer")String Answer,@Param("CorrectAnswer")String CorrectAnswer,
41   - @Param("QuestionType")String QuestionType,@Param("IsCorrect")String IsCorresct,@Param("WorkID")String WorkID);
42   -
43   - @Insert("insert into ZY_HomeworkReceive values(#{WorkId},#{ClassId},#{StudentId},#{StudnetAnswerIds},#{IsFinished}," +
44   - "#{AnswerTime},#{FinishTime},#{Intime},#{IsPigai},#{IsPigai})")
45   - void HomeworkReceive(@Param("WorkId")String WorkId,@Param("ClassId")String ClassId,@Param("StudentId")String StudentId,@Param("StudnetAnswerIds")String StudnetAnswerIds,
46   - @Param("IsFinished")String IsFinished,@Param("AnswerTime")String AnswerTime,@Param("FinishTime")String FinishTime,@Param("Intime")String Intime,
47   - @Param("IsPigai")String IsPigai,@Param("IsPigai")String UseTime);
48   -
49   - @Select("select * from TK_Question where ID = #{ID}")
50   - QuestionBean getQues(@Param("ID")String ID);
51   -
52   - @Select("select StudentId from ZY_HomeworkReceive where WorkId = #{WorkId}")
53   - List<String> getStudentIds(@Param("WorkId")String WorkId);
54   -// )
55   -
56   - @Select("select ID from TK_Question where SchoolId = 885 and CorrectAnswer in('A','B','C','D') and ChapterId = #{ChapterId}")
57   - List<String> getQIDS(@Param("ChapterId")String ChapterId );
58   -
59   - @Select("select ID from ZY_StudentAnswer where WorkID = #{WorkID}")
60   - List<String> getStudentAnsIds(@Param("WorkID")String WorkID);
61   -
62   - //添加学生答题记录
63   - @Insert("insert into ZY_StudentAnswer values (#{QuestionId},#{Answer},#{AnswerTime},#{CorrectAnswer},#{QuestionType},#{Pigai},#{IsCorrect},#{AppachIds},#{TeacherAppachIds},#{WorkID})")
64   - void addStudentAnswer(@Param("QuestionId")String QuestionId,@Param("Answer")String Answer,@Param("AnswerTime")String AnswerTime,@Param("CorrectAnswer")String CorrectAnswer,
65   - @Param("QuestionType")String QuestionType,@Param("Pigai")String Pigai,@Param("IsCorrect")String IsCorrect,@Param("AppachIds")String AppachIds,
66   - @Param("TeacherAppachIds")String TeacherAppachIds,@Param("WorkID")String WorkID);
67   -
68   -
69   - @Select("select Top(#{top}) ID from ZY_StudentAnswer where WorkID = #{WorkID} order by ID desc")
70   - List<String> getTopIDs(@Param("WorkID")String WorkID,@Param("top")int top);
71   -
72   - @Select("select ID from ZY_HomeworkReceive where WorkId = #{WorkId} and ID >= #{ID} and ID<12054 order by ID desc")
73   - List<String> get_HomeworkReceive(@Param("WorkId")String WorkId,@Param("ID")String ID);
74   -
75   - @Update("update ZY_HomeworkReceive set StudnetAnswerIds = #{StudnetAnswerIds} where ID = #{ID}")
76   - void updateHomeWork(@Param("StudnetAnswerIds")String StudnetAnswerIds,@Param("ID")String ID);
77   -
78   - @Select("select * from ZY_HomeworkReceive where WorkId = #{WorkId} order by ID desc")
79   - List<HomeworkReceive> get_HomeworkRec(@Param("WorkId")String WorkId);
80   -
81   - @Select("select Title from ZY_Homework where ID = #{ID} order by ID desc")
82   - String getWorkName(@Param("ID") String workId);
83   -
84   - @Select("select * from ZY_StudentAnswer where WorkID = #{WorkId}")
85   - List<StudentAnswer> get_stuAnswer(@Param("WorkId")String WorkId);
86   -
87   - @Update("update ZY_StudentAnswer set Answer = #{Answer},IsCorrect = #{IsCorrect} ,CorrectAnswer = #{CorrectAnswer} where ID = #{ID}")
88   - void updateStudentAnswer(@Param("ID") String id,@Param("CorrectAnswer")String CorrectAnswer,@Param("Answer")String Answer,@Param("IsCorrect")String IsCorrect);
89   -
90   - @Select("select name from SZ_V_School_Student where student_id = #{student_id}")
91   - String getStudentName(@Param("student_id") String studentId);
92   -
93   - @Select("select student_id from SZ_V_School_Student where class_id = #{class_id}")
94   - List<String> getStudentIdsWithClassId(@Param("class_id") String class_id);
95   -
96   - @Select("select IsCorrect from ZY_StudentAnswer where ID = #{ID}")
97   - int getIsCorrect(@Param("ID") String id);
98   -
99   - @Select("select QuestionId from ZY_StudentAnswer where WorkID = #{WorkID}")
100   - List<String> getStuAnsIds(@Param("WorkID") String workId);
101   -
102   - @Select("select CorrectAnswer from ZY_StudentAnswer where WorkID = #{WorkID}")
103   - List<String> correctAns(@Param("WorkID")String WorkID);
104   -
105   -
106   - @Select("select * from ZY_TestPaper where CreatorUserId = #{CreateUserId} and Intime > #{Intime}")
107   - List<TestPaper> getTestPapers(@Param("CreateUserId") String createUserId,@Param("Intime")String Intime);
108   -
109   - @Insert("insert into ZY_TestPaper values (#{addCreateUserId},#{questionIds},#{status},#{publishTime},#{name},#{isRecommend},#{state},#{intime},#{schoolId})")
110   - void addTestPaper(@Param("addCreateUserId") String addCreateUserId, @Param("questionIds") String questionIds, @Param("status") int status,
111   - @Param("publishTime") String publishTime, @Param("name") String name, @Param("isRecommend") int isRecommend,
112   - @Param("state") int state, @Param("intime") String intime, @Param("schoolId") String schoolId);
113   -
114   - @Insert("insert into ZY_Homework values(#{addCreateUserId},#{id},#{name},#{s},#{s1},#{s2},#{s3},#{i},#{i1},#{i2},#{s4},#{i3},#{questionIds},#{i4},#{i5}) ")
115   - void addHomework(@Param("addCreateUserId") String addCreateUserId, @Param("id") int id, @Param("name") String name,
116   - @Param("s") String s, @Param("s1") String s1, @Param("s2") String s2, @Param("s3") String s3, @Param("i") int i,
117   - @Param("i1") int i1, @Param("i2") int i2,@Param("s4") String s4, @Param("i3") int i3, @Param("questionIds") String questionIds, @Param("i4") int i4, @Param("i5") int i5);
118   -
119   -
120   - @Select("select * from ZY_Homework where CreatorUserId in (select DISTINCT user_id from SZ_UserRole where school_id = 11)")
121   - List<HomeBean> getCreatorUserId();
122   -
123   - @Select("select * from ZY_Homework where CreatorUserId = #{CreatorUserId}")
124   - List<Homework> getHomeWork(@Param("CreatorUserId") String addCreateUserId);
125   -
126   - @Select("select * from SZ_V_School_Student where school_id = #{school_id}")
127   - List<StudentInfo> getStudents(@Param("school_id") int school_id);
128   -
129   - @Select("select QuestionIds from ZY_Homework where ID = #{workId}")
130   - String getQuestionIds(@Param("workId") String workId);
131   -
132   - @Select("select CorrectAnswer from TK_Question where ID = #{questionId}")
133   - String getCorrectAnswer(@Param("questionId") String questionId);
134   -
135   -
136   -
137   -
138   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/TestPaper.java
... ... @@ -1,122 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import java.io.Serializable;
4   -
5   -public class TestPaper implements Serializable {
6   -
7   - private int ID;
8   -
9   - private String CreatorUserId;
10   -
11   - private String QuestionIds;
12   -
13   - private int Status;
14   -
15   - private String PublishTime;
16   -
17   - private String Name;
18   -
19   - private int IsRecommend;
20   -
21   - private int State;
22   -
23   - private String Intime;
24   -
25   - private int SchoolId;
26   -
27   - public String getCreatorUserId() {
28   - return CreatorUserId;
29   - }
30   -
31   - public void setCreatorUserId(String creatorUserId) {
32   - CreatorUserId = creatorUserId;
33   - }
34   -
35   - public String getQuestionIds() {
36   - return QuestionIds;
37   - }
38   -
39   - public void setQuestionIds(String questionIds) {
40   - QuestionIds = questionIds;
41   - }
42   -
43   - public int getStatus() {
44   - return Status;
45   - }
46   -
47   - public int getID() {
48   - return ID;
49   - }
50   -
51   - public void setID(int ID) {
52   - this.ID = ID;
53   - }
54   -
55   - public void setStatus(int status) {
56   - Status = status;
57   - }
58   -
59   - public String getPublishTime() {
60   - return PublishTime;
61   - }
62   -
63   - public void setPublishTime(String publishTime) {
64   - PublishTime = publishTime;
65   - }
66   -
67   - public String getName() {
68   - return Name;
69   - }
70   -
71   - public void setName(String name) {
72   - Name = name;
73   - }
74   -
75   - public int getIsRecommend() {
76   - return IsRecommend;
77   - }
78   -
79   - public void setIsRecommend(int isRecommend) {
80   - IsRecommend = isRecommend;
81   - }
82   -
83   - public int getState() {
84   - return State;
85   - }
86   -
87   - public void setState(int state) {
88   - State = state;
89   - }
90   -
91   - public String getIntime() {
92   - return Intime;
93   - }
94   -
95   - public void setIntime(String intime) {
96   - Intime = intime;
97   - }
98   -
99   - public int getSchoolId() {
100   - return SchoolId;
101   - }
102   -
103   - public void setSchoolId(int schoolId) {
104   - SchoolId = schoolId;
105   - }
106   -
107   - @Override
108   - public String toString() {
109   - return "TestPaper{" +
110   - "ID=" + ID +
111   - ", CreatorUserId='" + CreatorUserId + '\'' +
112   - ", QuestionIds='" + QuestionIds + '\'' +
113   - ", Status=" + Status +
114   - ", PublishTime='" + PublishTime + '\'' +
115   - ", Name='" + Name + '\'' +
116   - ", IsRecommend=" + IsRecommend +
117   - ", State=" + State +
118   - ", Intime='" + Intime + '\'' +
119   - ", SchoolId=" + SchoolId +
120   - '}';
121   - }
122   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/WeigengApplication.java
1 1 package com.sincere.weigeng;
2 2  
  3 +import com.sincere.weigeng.utils.WatchServer;
3 4 import org.springframework.boot.SpringApplication;
4 5 import org.springframework.boot.autoconfigure.SpringBootApplication;
  6 +import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  7 +import org.springframework.cloud.openfeign.EnableFeignClients;
5 8  
  9 +@EnableFeignClients(basePackages = "com.sincere.weigeng.feign")
  10 +@EnableEurekaClient
6 11 @SpringBootApplication
7 12 public class WeigengApplication {
8 13  
  14 + private static String ip = "172.16.3.175";
  15 + private static int port = 1200;
  16 +
9 17 public static void main(String[] args) {
10 18 SpringApplication.run(WeigengApplication.class, args);
  19 + //WatchServer.WatchingServerRunning(ip,port);
11 20 }
12 21  
13 22 }
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/controller/WgController.java 0 → 100644
... ... @@ -0,0 +1,220 @@
  1 +package com.sincere.weigeng.controller;
  2 +
  3 +import com.sincere.common.dto.smartCampus.SchoolDto;
  4 +import com.sincere.common.dto.smartCampus.StudentCardDto;
  5 +import com.sincere.common.dto.smartCampus.UpdateCardDto;
  6 +import com.sincere.common.dto.smartCampus.UserDto;
  7 +import com.sincere.common.dto.xiaoan.SendFailDto;
  8 +import com.sincere.common.dto.xiaoan.SendMessageDto;
  9 +import com.sincere.common.dto.xiaoan.SendSuccessDto;
  10 +import com.sincere.weigeng.feign.SmFeign;
  11 +import com.sincere.weigeng.feign.XaFeign;
  12 +import com.sincere.weigeng.logs.LogName;
  13 +import com.sincere.weigeng.logs.LoggerUtils;
  14 +import com.sincere.weigeng.utils.WatchServer;
  15 +import com.sincere.weigeng.vo.*;
  16 +import io.swagger.annotations.Api;
  17 +import io.swagger.annotations.ApiOperation;
  18 +import org.slf4j.Logger;
  19 +import org.springframework.beans.factory.annotation.Autowired;
  20 +import org.springframework.web.bind.annotation.RequestBody;
  21 +import org.springframework.web.bind.annotation.RequestMapping;
  22 +import org.springframework.web.bind.annotation.RequestMethod;
  23 +import org.springframework.web.bind.annotation.RestController;
  24 +
  25 +import java.util.List;
  26 +
  27 +/**
  28 + * @author chen
  29 + * @version 1.0
  30 + * @date 2019/10/14 0014 9:12
  31 + */
  32 +@RestController
  33 +@Api(value = "微耕")
  34 +public class WgController {
  35 +
  36 + private static final Logger Log_orderSuccess = LoggerUtils.Logger(LogName.orderSuccess);
  37 + private static final Logger Log_orderFail = LoggerUtils.Logger(LogName.orderFail);
  38 +
  39 + @Autowired
  40 + SmFeign smFeign;
  41 +
  42 + @Autowired
  43 + XaFeign xaFeign;
  44 +
  45 + private static String ip = "172.16.3.175";
  46 + private static int port = 1200;
  47 +
  48 + @RequestMapping(value = "watching" , method = RequestMethod.GET)
  49 + public void watching(){
  50 + WatchServer.WatchingServerRunning(ip,port,smFeign,xaFeign);
  51 + }
  52 +
  53 + @RequestMapping(value = "setTime" , method = RequestMethod.GET)
  54 + public void setTime(long sn){
  55 + WatchServer.setTime(xaFeign,sn,"48");
  56 + }
  57 +
  58 + @ApiOperation("远程开门")
  59 + @RequestMapping(value = "openDoor" , method = RequestMethod.POST)
  60 + public boolean openDoor(@RequestBody OpenDoorVo openDoorVo) {
  61 + String functionId = smFeign.selectOutOrderId(openDoorVo.getType(),openDoorVo.getId());
  62 + long messageId = WatchServer.openDoor(xaFeign,openDoorVo.getSn(),functionId,openDoorVo.getDoorNo(),null);
  63 + SendMessageDto message = getResult(messageId);
  64 + if(message.getCorrect() == 1){
  65 + Log_orderSuccess.info("web端远程开门成功!");
  66 + }else {
  67 + Log_orderFail.info("远程开门失败");
  68 + }
  69 + return message.getCorrect() == 1 ;
  70 + }
  71 +
  72 +
  73 + @ApiOperation("设置考勤时段")
  74 + @RequestMapping(value = "setAttendanceTime" , method = RequestMethod.POST)
  75 + public boolean setAttendanceTime(@RequestBody AttendanceTimeVo attendanceTimeVo){
  76 + String functionId = smFeign.selectOutOrderId(attendanceTimeVo.getType(),attendanceTimeVo.getId());
  77 + List<Long> result = WatchServer.SetAttendanceTime(xaFeign,attendanceTimeVo.getSn(),functionId,attendanceTimeVo.getShiduan(),
  78 + attendanceTimeVo.getStart(),attendanceTimeVo.getEnd(),attendanceTimeVo.getIsMonday(),attendanceTimeVo.getIsTuesday(),
  79 + attendanceTimeVo.getIsWednesday(),attendanceTimeVo.getIsThursday(),attendanceTimeVo.getIsFriday(),
  80 + attendanceTimeVo.getIsSaturday(),attendanceTimeVo.getIsWeekend(),attendanceTimeVo.getShiqu());
  81 + boolean isSuccess = true ;
  82 + for(Long messageId : result){
  83 + SendMessageDto message = getResult(messageId);
  84 + if(message.getCorrect() == 1){
  85 + Log_orderSuccess.info("设备"+attendanceTimeVo.getSn()+"时段"+attendanceTimeVo.getShiduan()+"!!设置成功");
  86 + }else {
  87 + Log_orderFail.info("设备"+attendanceTimeVo.getSn()+"时段"+attendanceTimeVo.getShiduan()+"!!设置失败");
  88 + isSuccess = false ;
  89 + }
  90 + }
  91 + return isSuccess;
  92 + }
  93 +
  94 +
  95 + @ApiOperation("单个卡号的权限添加或修改")
  96 + @RequestMapping(value = "setSignalCardInfo" , method = RequestMethod.POST)
  97 + public boolean setSignalCardInfo(@RequestBody SignalCardInfoVo signalCardInfoVo){
  98 + String functionId = smFeign.selectOutOrderId(signalCardInfoVo.getType(),signalCardInfoVo.getId());
  99 + String cardNo = initCardNo(signalCardInfoVo.getCardNo());
  100 + long messageId = WatchServer.SetSignalCardInfo(xaFeign,signalCardInfoVo.getSn(),functionId,cardNo,
  101 + signalCardInfoVo.getShiduan(),signalCardInfoVo.getStartTime(),signalCardInfoVo.getEndTime());
  102 + SendMessageDto message = getResult(messageId);
  103 + UserDto user = smFeign.selectUserByCardNum(cardNo);
  104 + StudentCardDto studentCard = smFeign.selectStudentCard(cardNo);
  105 + SchoolDto school = smFeign.selectSchoolBySchoolId(user.getSchoolId());
  106 + UpdateCardDto updateCard = smFeign.selectUpdateCardByUpdateId(signalCardInfoVo.getUpdateId());
  107 + if(message.getCorrect() == 1){
  108 + Log_orderSuccess.info("设备"+signalCardInfoVo.getSn()+"时段"+signalCardInfoVo.getShiduan()+"卡号"+cardNo+"!!设置成功");
  109 + SendSuccessDto sendSuccess = new SendSuccessDto(user,school,studentCard,updateCard);
  110 + sendSuccess.setDeviceId(signalCardInfoVo.getSn()+"");
  111 + sendSuccess.setShiduan(signalCardInfoVo.getShiduan());
  112 + sendSuccess.setCardNum(cardNo);
  113 + sendSuccess.setUpdateId(signalCardInfoVo.getUpdateId());
  114 + sendSuccess.setOpenFlag(1);
  115 + sendSuccess.setStatus(1);
  116 + xaFeign.insertSendSuccess(sendSuccess);
  117 + }else {
  118 + Log_orderFail.info("设备"+signalCardInfoVo.getSn()+"时段"+signalCardInfoVo.getShiduan()+"卡号"+cardNo+"!!设置失败");
  119 + SendFailDto sendFail = new SendFailDto(user,school,studentCard,updateCard);
  120 + sendFail.setDeviceId(signalCardInfoVo.getSn()+"");
  121 + sendFail.setShiduan(signalCardInfoVo.getShiduan());
  122 + sendFail.setCardNum(cardNo);
  123 + sendFail.setUpdateId(signalCardInfoVo.getUpdateId());
  124 + sendFail.setOpenFlag(1);
  125 + sendFail.setStatus(1);
  126 + sendFail.setFailType(2);
  127 + sendFail.setFailContent("其他");
  128 + xaFeign.insertSendFail(sendFail);
  129 + }
  130 + return message.getCorrect() == 1;
  131 + }
  132 +
  133 +
  134 + @ApiOperation("清除单个卡号权限")
  135 + @RequestMapping(value = "clearSinglePower" , method = RequestMethod.POST)
  136 + public boolean clearSinglePower(@RequestBody CardInfo cardInfo){
  137 + String functionId = smFeign.selectOutOrderId(cardInfo.getType(),cardInfo.getId());
  138 + String cardNo = initCardNo(cardInfo.getCardNo());
  139 + long messageId = WatchServer.clearSinglePower(xaFeign,cardInfo.getSn(),functionId,cardNo);
  140 + SendMessageDto message = getResult(messageId);
  141 + if(message.getCorrect() == 1){
  142 + Log_orderSuccess.info("卡号"+cardNo+"清除权限成功");
  143 + SendSuccessDto sendSuccess = new SendSuccessDto();
  144 + sendSuccess.setCardNum(cardNo);
  145 + sendSuccess.setDeviceId(cardInfo.getSn()+"");
  146 + xaFeign.updateSendSuccess(sendSuccess);
  147 + }else {
  148 + Log_orderFail.info("卡号"+cardNo+"清除权限失败");
  149 + }
  150 + return message.getCorrect() == 1 ;
  151 + }
  152 +
  153 + @ApiOperation("清除全部权限")
  154 + @RequestMapping(value = "clearAllPower" , method = RequestMethod.POST)
  155 + public boolean clearAllPower(@RequestBody CleanShiDuanVo cleanShiDuanVo){
  156 + String functionId = smFeign.selectOutOrderId(cleanShiDuanVo.getType(),cleanShiDuanVo.getId());
  157 + long messageId = WatchServer.clearAllPower(xaFeign,cleanShiDuanVo.getSn(),functionId);
  158 + SendMessageDto message = getResult(messageId);
  159 + if(message.getCorrect() == 1){
  160 + Log_orderSuccess.info("设备"+cleanShiDuanVo.getSn()+"清除权限成功");
  161 + SendSuccessDto sendSuccess = new SendSuccessDto();
  162 + sendSuccess.setDeviceId(cleanShiDuanVo.getSn()+"");
  163 + xaFeign.updateSendSuccess(sendSuccess);
  164 + }else {
  165 + Log_orderFail.info("设备"+cleanShiDuanVo.getSn()+"清除权限失败");
  166 + }
  167 + return message.getCorrect() == 1 ;
  168 + }
  169 +
  170 +
  171 + @ApiOperation("清除时段")
  172 + @RequestMapping(value = "clearShiDuan" , method = RequestMethod.POST)
  173 + public boolean clearShiDuan(@RequestBody CleanShiDuanVo cleanShiDuanVo){
  174 + String functionId = smFeign.selectOutOrderId(cleanShiDuanVo.getType(),cleanShiDuanVo.getId());
  175 + long messageId = WatchServer.clearShiDuan(xaFeign,cleanShiDuanVo.getSn(),functionId);
  176 + SendMessageDto sendMessage = getResult(messageId);
  177 + if(sendMessage.getCorrect() == 1){
  178 + Log_orderSuccess.info("设备"+cleanShiDuanVo.getSn()+"时段清除成功");
  179 + }else {
  180 + Log_orderFail.info("设备"+cleanShiDuanVo.getSn()+"时段清除失败");
  181 + }
  182 + return sendMessage.getCorrect() == 1;
  183 + }
  184 +
  185 + @ApiOperation("查询单个卡号 权限")
  186 + @RequestMapping(value = "searchPower" , method = RequestMethod.POST)
  187 + public boolean searchPower(@RequestBody CardInfo cardInfo){
  188 + String functionId = smFeign.selectOutOrderId(cardInfo.getType(),cardInfo.getId());
  189 + String cardNo = initCardNo(cardInfo.getCardNo());
  190 + long messageId = WatchServer.searchPower(xaFeign,cardInfo.getSn(),functionId,cardNo);
  191 + SendMessageDto sendMessage = getResult(messageId);
  192 + if(sendMessage.getCorrect() == 1){
  193 + Log_orderSuccess.info("设备"+cardInfo.getSn()+"卡号"+cardNo+"查询权限成功");
  194 + }else {
  195 + Log_orderFail.info("设备"+cardInfo.getSn()+"卡号"+cardNo+"查询权限失败");
  196 + }
  197 + return sendMessage.getCorrect() == 1;
  198 + }
  199 +
  200 + @RequestMapping(value = "watch" , method = RequestMethod.GET)
  201 + public int watch(){
  202 + return 1 ;
  203 + }
  204 +
  205 + private SendMessageDto getResult(long messageId){
  206 + try{
  207 + Thread.sleep(300);
  208 + }catch (Exception e){
  209 +
  210 + }
  211 + return xaFeign.selectById(messageId);
  212 + }
  213 +
  214 + private String initCardNo(String cardNo){
  215 + while (cardNo.length() < 8){
  216 + cardNo = "0" + cardNo ;
  217 + }
  218 + return cardNo ;
  219 + }
  220 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/dao/UserDao.java
... ... @@ -1,29 +0,0 @@
1   -package com.sincere.weigeng.dao;
2   -
3   -import com.sincere.weigeng.JiaoCai;
4   -import com.sincere.weigeng.Knowledge;
5   -import org.apache.ibatis.annotations.*;
6   -import org.springframework.stereotype.Repository;
7   -
8   -import java.util.List;
9   -
10   -@Repository
11   -@Mapper
12   -public interface UserDao {
13   -
14   -// @Insert("insert into HS_StudentUpdateCard (Card,SchoolId,StudentCode,CustomerId,StudentType,UserType,ClassId,ClassName,IsNew,UpdateType,AddTime) " +
15   -// "values (#{Card},#{SchoolId},#{StudentCode},#{CustomerId},#{StudentType},#{UserType},#{ClassId},#{ClassName},#{IsNew,#{UpdateType),#{AddTime}")
16   -// void addStudentUpdate(@Param("Card") String card, @Param("SchoolId") int school_id, @Param("StudentCode") String studentCode, @Param("CustomerId") String CustomerId
17   -// , @Param("StudentType") String StudentType, @Param("UserType") String UserType, @Param("ClassId") String ClassId, @Param("ClassName") String ClassName,
18   -// @Param("IsNew") String IsNew, @Param("UpdateType") String UpdateType, @Param("AddTime") String AddTime);
19   -
20   -
21   - @Select ("select * from ZY_YYKnowledge where AddTime >2019 ")
22   - List<Knowledge> getKnowledge();
23   -
24   - @Select("select * from ZY_YYJiaoCai where ID >= 26")
25   - List<JiaoCai> getJiaoCai();
26   -
27   - @Insert("insert into ZY_YYJiaoCaiAndKnowledg values(#{id},#{id1},#{i},#{i1})")
28   - void addKnowAndJicaoCai(@Param("id") String id, @Param("id1") String id1, @Param("i") int i, @Param("i1") int i1);
29   -}
cloud/weigeng/src/main/java/com/sincere/weigeng/feign/SmFeign.java 0 → 100644
... ... @@ -0,0 +1,40 @@
  1 +package com.sincere.weigeng.feign;
  2 +
  3 +import com.sincere.common.dto.smartCampus.SchoolDto;
  4 +import com.sincere.common.dto.smartCampus.StudentCardDto;
  5 +import com.sincere.common.dto.smartCampus.UpdateCardDto;
  6 +import com.sincere.common.dto.smartCampus.UserDto;
  7 +import org.springframework.cloud.openfeign.FeignClient;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.RequestParam;
  11 +
  12 +/**
  13 + * @author chen
  14 + * @version 1.0
  15 + * @date 2019/11/12 0012 11:08
  16 + */
  17 +@FeignClient("smartCampusSearch")
  18 +public interface SmFeign {
  19 +
  20 + @RequestMapping(value = "/sm/wg/updateLinkTime",method = RequestMethod.GET)
  21 + int updateLinkTime(@RequestParam("sno") String sno);
  22 +
  23 + @RequestMapping(value = "/sm/wg/selectOutOrderId",method = RequestMethod.GET)
  24 + String selectOutOrderId(@RequestParam("type") int type, @RequestParam("insideOrderId") int insideOrderId);
  25 +
  26 + @RequestMapping(value = "/sm/wg/checkLeave",method = RequestMethod.GET)
  27 + String checkLeave(@RequestParam("cardNo") String cardNo);
  28 +
  29 + @RequestMapping(value = "/sm/wg/selectSchoolBySchoolId",method = RequestMethod.GET)
  30 + SchoolDto selectSchoolBySchoolId(@RequestParam("schoolId") int schoolId);
  31 +
  32 + @RequestMapping(value = "/sm/wg/selectUserByCardNum",method = RequestMethod.GET)
  33 + UserDto selectUserByCardNum(@RequestParam("cardNum") String cardNum);
  34 +
  35 + @RequestMapping(value = "/sm/wg/selectUpdateCardByUpdateId",method = RequestMethod.GET)
  36 + UpdateCardDto selectUpdateCardByUpdateId(@RequestParam("updateId") int updateId);
  37 +
  38 + @RequestMapping(value = "/sm/wg/selectStudentCard",method = RequestMethod.GET)
  39 + StudentCardDto selectStudentCard(@RequestParam("cardNum") String cardNum);
  40 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/feign/XaFeign.java 0 → 100644
... ... @@ -0,0 +1,47 @@
  1 +package com.sincere.weigeng.feign;
  2 +
  3 +import com.sincere.common.dto.xiaoan.*;
  4 +import org.springframework.cloud.openfeign.FeignClient;
  5 +import org.springframework.web.bind.annotation.RequestBody;
  6 +import org.springframework.web.bind.annotation.RequestMapping;
  7 +import org.springframework.web.bind.annotation.RequestMethod;
  8 +import org.springframework.web.bind.annotation.RequestParam;
  9 +
  10 +/**
  11 + * @author chen
  12 + * @version 1.0
  13 + * @date 2019/11/12 0012 11:12
  14 + */
  15 +@FeignClient("xiaoanSearch")
  16 +public interface XaFeign {
  17 +
  18 + @RequestMapping(value = "/xa/wg/checkIn",method = RequestMethod.POST)
  19 + CheckOutDto checkIn(@RequestBody CheckInDto checkInDto);
  20 +
  21 + @RequestMapping(value = "/xa/wg/insertMessage",method = RequestMethod.POST)
  22 + long insertMessage(@RequestBody SendMessageDto sendMessageDto);
  23 +
  24 + @RequestMapping(value = "/xa/wg/selectById",method = RequestMethod.GET)
  25 + SendMessageDto selectById(@RequestParam("id") long id);
  26 +
  27 + @RequestMapping(value = "/xa/wg/selectMessage",method = RequestMethod.GET)
  28 + SendMessageDto selectMessage(@RequestParam("deviceId") String deviceId, @RequestParam("index") long index,@RequestParam("functionId") String functionId);
  29 +
  30 + @RequestMapping(value = "/xa/wg/updateMessage",method = RequestMethod.GET)
  31 + int updateMessage(@RequestParam("id") long id, @RequestParam("result") String result, @RequestParam("correct") int correct);
  32 +
  33 + @RequestMapping(value = "/xa/wg/insertPassFail",method = RequestMethod.POST)
  34 + int insertPassFail(@RequestBody PassFailDto passFailDto);
  35 +
  36 + @RequestMapping(value = "/xa/wg/insertSendSuccess",method = RequestMethod.POST)
  37 + int insertSendSuccess(@RequestBody SendSuccessDto sendSuccessDto);
  38 +
  39 + @RequestMapping(value = "/xa/wg/insertSendFail",method = RequestMethod.POST)
  40 + int insertSendFail(@RequestBody SendFailDto sendFailDto);
  41 +
  42 + @RequestMapping(value = "/xa/wg/deleteSendFail",method = RequestMethod.POST)
  43 + int deleteSendFail(@RequestBody SendFailDto sendFailDto);
  44 +
  45 + @RequestMapping(value = "/xa/wg/deleteSendFail",method = RequestMethod.POST)
  46 + int updateSendSuccess(@RequestBody SendSuccessDto sendSuccessDto);
  47 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/logs/LogName.java 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +package com.sincere.weigeng.logs;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/12 0012 16:18
  7 + */
  8 +public enum LogName {
  9 + orderSuccess("orderSuccess"),
  10 + orderFail("orderFail"),
  11 + kaoInfo("kaoInfo"),
  12 + heartBeat("heartBeat"),
  13 + error("error");
  14 +
  15 + private String logFileName;
  16 +
  17 + LogName(String fileName) {
  18 + this.logFileName = fileName;
  19 + }
  20 +
  21 + public String getLogFileName() {
  22 + return logFileName;
  23 + }
  24 +
  25 + public void setLogFileName(String logFileName) {
  26 + this.logFileName = logFileName;
  27 + }
  28 +
  29 + public static LogName getAwardTypeEnum(String value) {
  30 + LogName[] arr = values();
  31 + for (LogName item : arr) {
  32 + if (null != item && !item.logFileName.equals("")) {
  33 + return item;
  34 + }
  35 + }
  36 + return null;
  37 + }
  38 +}
  39 +
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/logs/LoggerUtils.java 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +package com.sincere.weigeng.logs;
  2 +
  3 +import org.slf4j.Logger;
  4 +import org.slf4j.LoggerFactory;
  5 +
  6 +/**
  7 + * @author chen
  8 + * @version 1.0
  9 + * @date 2019/10/12 0012 16:19
  10 + */
  11 +public class LoggerUtils {
  12 +
  13 + public static <T> Logger Logger(Class<T> clazz) {
  14 + return LoggerFactory.getLogger(clazz);
  15 + }
  16 +
  17 + /**
  18 + * 打印到指定的文件下
  19 + *
  20 + * @param desc 日志文件名称
  21 + * @return
  22 + */
  23 + public static Logger Logger(LogName desc) {
  24 + return LoggerFactory.getLogger(desc.getLogFileName());
  25 + }
  26 +
  27 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/logs/MyTimeBasedFileNamingAndTriggeringPolicy.java 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +package com.sincere.weigeng.logs;
  2 +
  3 +import ch.qos.logback.core.joran.spi.NoAutoStart;
  4 +import ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy;
  5 +
  6 +/**
  7 + * @author chen
  8 + * @version 1.0
  9 + * @date 2019/10/31 0031 13:42
  10 + */
  11 +@NoAutoStart
  12 +public class MyTimeBasedFileNamingAndTriggeringPolicy<E> extends DefaultTimeBasedFileNamingAndTriggeringPolicy<E> {
  13 +
  14 + //这个用来指定时间间隔
  15 + private Integer multiple = 1;
  16 +
  17 + @Override
  18 + protected void computeNextCheck() {
  19 + nextCheck = rc.getEndOfNextNthPeriod(dateInCurrentPeriod, multiple).getTime();
  20 + }
  21 +
  22 + public Integer getMultiple() {
  23 + return multiple;
  24 + }
  25 +
  26 + public void setMultiple(Integer multiple) {
  27 + if (multiple > 1) {
  28 + this.multiple = multiple;
  29 + }
  30 + }
  31 +
  32 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WGUtils.java 0 → 100644
... ... @@ -0,0 +1,133 @@
  1 +package com.sincere.weigeng.utils;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/14 0014 11:03
  7 + */
  8 +public class WGUtils {
  9 +
  10 + //指令转换 message 10进制 要先转16 在转byte
  11 + public static Byte toFunctionHex(String message){
  12 + Integer i = Integer.valueOf(message) ;
  13 + if(i > 127){
  14 + i = i-256 ;
  15 + }
  16 + return Byte.valueOf(i+"");
  17 + }
  18 +
  19 + //短报文 转化 message 16进制 要先转16 在转byte
  20 + public static Byte toHex(String message){
  21 + Integer i = Integer.valueOf(message,16) ;
  22 + if(i > 127){
  23 + i = i-256 ;
  24 + }
  25 + return Byte.valueOf(i+"");
  26 + }
  27 +
  28 + public static String getCardNo(byte[] buff, int start, int len){
  29 + String cardNo = "" ;
  30 + for(int i = start ; i < start+len ; i++){
  31 + cardNo += byte2Hex(buff[i]);
  32 + }
  33 + return cardNo;
  34 + }
  35 +
  36 + public static String byte2Hex(byte b){
  37 + int i = b ;
  38 + if( b < 0){
  39 + i = b + 256 ;
  40 + }
  41 + String result = Integer.toHexString(i).toUpperCase() ;
  42 + if(result.length() == 1){
  43 + result = "0"+result;
  44 + }
  45 + return result;
  46 + }
  47 +
  48 + //4字节转成整型数(低位前, 高位后)
  49 + public static int byteToInt(byte[] buff, int start, int len) {
  50 + int val = 0;
  51 + for (int i = 0; i < len && i < 4; i++)
  52 + {
  53 + long lng = buff[i + start];
  54 + val += (lng << (8 * i));
  55 + }
  56 + return val;
  57 + }
  58 +
  59 + //4字节转成整型数(低位前, 高位后)
  60 + public static long byteToLong(byte[] buff, int start, int len) {
  61 + long val = 0;
  62 + for (int i = 0; i < len && i < 4; i++)
  63 + {
  64 + long lng = buff[i + start];
  65 + val += (lng << (8 * i));
  66 + }
  67 + return val;
  68 + }
  69 +
  70 + //获取Hex值, 主要用于日期时间格式
  71 + public static byte getHex(int val) {
  72 + return (byte)((val % 10) + (((val -(val % 10)) / 10)%10) *16);
  73 + }
  74 +
  75 +
  76 + public static String getReasonDetailChinese(int Reason){
  77 + if (Reason > 45) {
  78 + return "";
  79 + }
  80 + if (Reason <= 0) {
  81 + return "";
  82 + }
  83 + return RecordDetails[(Reason - 1) * 4 + 3]; //中文信息
  84 + }
  85 +
  86 + public static String RecordDetails[] = {
  87 + "1","SwipePass","Swipe","刷卡开门",
  88 + "2","SwipePass","Swipe Close","刷卡关",
  89 + "3","SwipePass","Swipe Open","刷卡开",
  90 + "4","SwipePass","Swipe Limited Times","刷卡开门(带限次)",
  91 + "5","SwipeNOPass","Denied Access: PC Control","刷卡禁止通过: 电脑控制",
  92 + "6","SwipeNOPass","Denied Access: No PRIVILEGE","刷卡禁止通过: 没有权限",
  93 + "7","SwipeNOPass","Denied Access: Wrong PASSWORD","刷卡禁止通过: 密码不对",
  94 + "8","SwipeNOPass","Denied Access: AntiBack","刷卡禁止通过: 反潜回",
  95 + "9","SwipeNOPass","Denied Access: More Cards","刷卡禁止通过: 多卡",
  96 + "10","SwipeNOPass","Denied Access: First Card Open","刷卡禁止通过: 首卡",
  97 + "11","SwipeNOPass","Denied Access: Door Set NC","刷卡禁止通过: 门为常闭",
  98 + "12","SwipeNOPass","Denied Access: InterLock","刷卡禁止通过: 互锁",
  99 + "13","SwipeNOPass","Denied Access: Limited Times","刷卡禁止通过: 受刷卡次数限制",
  100 + "14","SwipeNOPass","Denied Access: Limited Person Indoor","刷卡禁止通过: 门内人数限制",
  101 + "15","SwipeNOPass","Denied Access: Invalid Timezone","刷卡禁止通过: 卡过期或不在有效时段",
  102 + "16","SwipeNOPass","Denied Access: In Order","刷卡禁止通过: 按顺序进出限制",
  103 + "17","SwipeNOPass","Denied Access: SWIPE GAP LIMIT","刷卡禁止通过: 刷卡间隔约束",
  104 + "18","SwipeNOPass","Denied Access","刷卡禁止通过: 原因不明",
  105 + "19","SwipeNOPass","Denied Access: Limited Times","刷卡禁止通过: 刷卡次数限制",
  106 + "20","ValidEvent","Push Button","按钮开门",
  107 + "21","ValidEvent","Push Button Open","按钮开",
  108 + "22","ValidEvent","Push Button Close","按钮关",
  109 + "23","ValidEvent","Door Open","门打开[门磁信号]",
  110 + "24","ValidEvent","Door Closed","门关闭[门磁信号]",
  111 + "25","ValidEvent","Super Password Open Door","超级密码开门",
  112 + "26","ValidEvent","Super Password Open","超级密码开",
  113 + "27","ValidEvent","Super Password Close","超级密码关",
  114 + "28","Warn","Controller Power On","控制器上电",
  115 + "29","Warn","Controller Reset","控制器复位",
  116 + "30","Warn","Push Button Invalid: Disable","按钮不开门: 按钮禁用",
  117 + "31","Warn","Push Button Invalid: Forced Lock","按钮不开门: 强制关门",
  118 + "32","Warn","Push Button Invalid: Not On Line","按钮不开门: 门不在线",
  119 + "33","Warn","Push Button Invalid: InterLock","按钮不开门: 互锁",
  120 + "34","Warn","Threat","胁迫报警",
  121 + "35","Warn","Threat Open","胁迫报警开",
  122 + "36","Warn","Threat Close","胁迫报警关",
  123 + "37","Warn","Open too long","门长时间未关报警[合法开门后]",
  124 + "38","Warn","Forced Open","强行闯入报警",
  125 + "39","Warn","Fire","火警",
  126 + "40","Warn","Forced Close","强制关门",
  127 + "41","Warn","Guard Against Theft","防盗报警",
  128 + "42","Warn","7*24Hour Zone","烟雾煤气温度报警",
  129 + "43","Warn","Emergency Call","紧急呼救报警",
  130 + "44","RemoteOpen","Remote Open Door","操作员远程开门",
  131 + "45","RemoteOpen","Remote Open Door By USB Reader","发卡器确定发出的远程开门"
  132 + };
  133 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WatchServer.java 0 → 100644
... ... @@ -0,0 +1,509 @@
  1 +package com.sincere.weigeng.utils;
  2 +
  3 +
  4 +import com.sincere.common.dto.smartCampus.UserDto;
  5 +import com.sincere.common.dto.xiaoan.CheckInDto;
  6 +import com.sincere.common.dto.xiaoan.CheckOutDto;
  7 +import com.sincere.common.dto.xiaoan.PassFailDto;
  8 +import com.sincere.common.dto.xiaoan.SendMessageDto;
  9 +import com.sincere.common.util.DateUtils;
  10 +import com.sincere.weigeng.feign.SmFeign;
  11 +import com.sincere.weigeng.feign.XaFeign;
  12 +import com.sincere.weigeng.logs.LogName;
  13 +import com.sincere.weigeng.logs.LoggerUtils;
  14 +import org.apache.commons.lang3.StringUtils;
  15 +import org.apache.mina.core.session.IoSession;
  16 +import org.apache.mina.transport.socket.DatagramSessionConfig;
  17 +import org.apache.mina.transport.socket.nio.NioDatagramAcceptor;
  18 +import org.slf4j.Logger;
  19 +
  20 +import java.io.IOException;
  21 +import java.net.InetSocketAddress;
  22 +import java.util.*;
  23 +import java.util.concurrent.ConcurrentHashMap;
  24 +
  25 +/**
  26 + * @author chen
  27 + * @version 1.0
  28 + * @date 2019/10/12 0012 16:57
  29 + */
  30 +public class WatchServer {
  31 +
  32 + private static final Logger Log_orderSuccess = LoggerUtils.Logger(LogName.orderSuccess);
  33 + private static final Logger Log_orderFail = LoggerUtils.Logger(LogName.orderFail);
  34 + private static final Logger Log_kaoInfo = LoggerUtils.Logger(LogName.kaoInfo);
  35 + private static final Logger Log_heartBeat = LoggerUtils.Logger(LogName.heartBeat);
  36 + private static final Logger Log_error = LoggerUtils.Logger(LogName.error);
  37 +
  38 + private static List<Long> snoList = new ArrayList<>();
  39 + private static List<Long> indexList = new ArrayList<>();
  40 + private static WatchingShortHandler watchingShortHandler ;
  41 + private static Queue<byte[]> queue = new LinkedList<>();
  42 + private static Map<Long , IoSession> sessionMap = new ConcurrentHashMap<>();
  43 +
  44 + // 进入服务器监控状态
  45 + public static int WatchingServerRunning(String watchServerIP,int watchServerPort,
  46 + SmFeign smFeign ,XaFeign xaFeign) {
  47 + watchingShortHandler = new WatchingShortHandler(queue,sessionMap);
  48 + // 创建UDP数据包NIO
  49 + NioDatagramAcceptor acceptor = new NioDatagramAcceptor();
  50 + // NIO设置底层IOHandler
  51 + acceptor.setHandler(watchingShortHandler);
  52 +
  53 + // 设置是否重用地址? 也就是每个发过来的udp信息都是一个地址?
  54 + DatagramSessionConfig dcfg = acceptor.getSessionConfig();
  55 + dcfg.setReuseAddress(false);
  56 + // 绑定端口地址
  57 + try {
  58 + acceptor.bind(new InetSocketAddress(watchServerIP, watchServerPort));
  59 + } catch (IOException e) {
  60 + Log_orderSuccess.info("绑定接收服务器失败....");
  61 + e.printStackTrace();
  62 + return 0;
  63 + }
  64 + Log_orderSuccess.info("绑定接收服务器成功....");
  65 + long recordIndex = 0;
  66 + while(true) {
  67 + if (!queue.isEmpty()) {
  68 + byte[] recvBuff;
  69 + synchronized (queue) {
  70 + recvBuff= queue.poll();
  71 + }
  72 + if (recvBuff[1]== 0x20) {
  73 + long sn = WgUdpCommShort.getLongByByte(recvBuff, 4, 4);
  74 + smFeign.updateLinkTime(sn+"");
  75 + Log_heartBeat.info("设备"+sn);
  76 + boolean isExist = true ;
  77 + long recordIndexGet = WgUdpCommShort.getLongByByte(recvBuff, 8, 4);
  78 + if(snoList.indexOf(sn) >= 0){
  79 + int number = snoList.indexOf(sn);
  80 + recordIndex = indexList.get(number);
  81 + indexList.set(number,recordIndexGet);
  82 + }else {
  83 + snoList.add(sn);
  84 + recordIndex = 0 ;
  85 + indexList.add(recordIndexGet);
  86 + System.out.println("设备"+sn+"上线");
  87 + isExist = false ;
  88 + }
  89 + if(isExist){
  90 + if (recordIndex < recordIndexGet || (recordIndexGet - recordIndex) < -5) {
  91 + watching(recvBuff,smFeign,xaFeign);
  92 + }
  93 + }
  94 + }else {
  95 + push(recvBuff,xaFeign);
  96 + }
  97 + } else {
  98 + long times = 100;
  99 + try {
  100 + Thread.sleep(times);
  101 + } catch (InterruptedException e) {
  102 + e.printStackTrace();
  103 + }
  104 + }
  105 + }
  106 + }
  107 +
  108 + private static void watching(byte[] recv,SmFeign smFeign ,XaFeign xaFeign){
  109 + long res = 0;
  110 + //8-11 记录的索引号
  111 + //(=0表示没有记录) 4 0x00000000
  112 + int recordIndex = 0;
  113 + recordIndex = WGUtils.byteToInt(recv, 8, 4);
  114 + //12 记录类型**********************************************
  115 + //0=无记录
  116 + //1=刷卡记录
  117 + //2=门磁,按钮, 设备启动, 远程开门记录
  118 + //3=报警记录 1
  119 + //0xFF=表示指定索引位的记录已被覆盖掉了. 请使用索引0, 取回最早一条记录的索引值
  120 + int recordType = recv[12];
  121 +
  122 + //13 有效性(0 表示不通过, 1表示通过) 1
  123 + int recordValid = recv[13];
  124 +
  125 + //14 门号(1,2,3,4) 1 业务需要-->1出2进
  126 + int recordDoorNO = recv[14];
  127 +
  128 + //15 进门/出门(1表示进门, 2表示出门) 1 0x01
  129 + //int recordInOrOut = recv[15];
  130 +
  131 + //16-19 卡号(类型是刷卡记录时)
  132 + //或编号(其他类型记录) 4
  133 + String cardNo = WGUtils.getCardNo(recv, 16, 4);
  134 +
  135 + //20-26 刷卡时间:
  136 + //年月日时分秒 (采用BCD码)见设置时间部分的说明
  137 + String recordTime = "2000-01-01 00:00:00";
  138 + recordTime = String.format("%02X%02X-%02X-%02X %02X:%02X:%02X",
  139 + recv[20], recv[21], recv[22], recv[23], recv[24], recv[25], recv[26]);
  140 + //2012.12.11 10:49:59 7
  141 + //27 记录原因代码(可以查 “刷卡记录说明.xls”文件的ReasonNO)
  142 + //处理复杂信息才用 1
  143 + int reason = recv[27];
  144 + if (recordType == 0) {
  145 + Log_orderSuccess.info(String.format("索引位={0} 无记录", recordIndex));
  146 + }else if (recordType == 0xff) {
  147 + Log_orderSuccess.info("指定索引位的记录已被覆盖掉了,请使用索引0, 取回最早一条记录的索引值");
  148 + } else if (recordType == 1) {
  149 + long sno = 0;
  150 + sno = WgUdpCommShort.getLongByByte(recv, 4, 4);//解析设备号
  151 + String msg = "索引位=" + recordIndex
  152 + + ",卡号=" + cardNo
  153 + +"进出=" + (recordDoorNO == 1 ? "出门" : "进门")
  154 + + ",有效=" + (recordValid == 1 ? "通过" : "禁止")
  155 + + ",时间=" + recordTime
  156 + + ",描述=" + WGUtils.getReasonDetailChinese(reason) + "";
  157 + Log_orderSuccess.info("控制器:" + sno + msg);
  158 + if(recordValid == 1) {
  159 + //有效刷卡调考勤存储过程
  160 + CheckInDto checkIn = new CheckInDto();
  161 + checkIn.setDeviceId(sno+"");
  162 + checkIn.setCardNo(cardNo);
  163 + checkIn.setFunNo(8);
  164 + checkIn.setFlag(recordDoorNO == 1 ? 1 : 0);
  165 + checkIn.setCheckTime(recordTime);
  166 + CheckOutDto checkOutDto = xaFeign.checkIn(checkIn);
  167 + if(checkOutDto.getIsSuccess() == 1){
  168 + //考勤成功
  169 + Log_kaoInfo.info("考勤成功!,设备:"+sno+"卡号:"+cardNo+"方向:"+(recordDoorNO == 1 ? "出门" : "进门")+"______"+ recordTime);
  170 + }else {
  171 + //考勤失败
  172 + Log_orderFail.error("考勤失败!,设备:"+sno+"卡号:"+cardNo + "---"+ checkOutDto.getOut());
  173 + }
  174 + }else {
  175 + //判断是否请假
  176 + String studentNum = smFeign.checkLeave(cardNo);
  177 + if (StringUtils.isNotBlank(studentNum)) {
  178 + int outOf = recordDoorNO == 1 ? 1 : 0;
  179 + //远程开门
  180 + openDoor(xaFeign,sno,"64",recordDoorNO,cardNo);
  181 + Log_orderSuccess.info("请假开门成功"+cardNo);
  182 + } else {
  183 + //没有请假不做任何处理,则是刷卡异常,入库
  184 + UserDto user = smFeign.selectUserByCardNum(cardNo);
  185 + PassFailDto passFail = new PassFailDto();
  186 + passFail.setCardNum(cardNo);
  187 + passFail.setDeviceId(sno+"");
  188 + passFail.setDirection((recordDoorNO == 1 ? "出门" : "进门"));
  189 + passFail.setResultIntro(WGUtils.getReasonDetailChinese(reason));
  190 + passFail.setInTime(DateUtils.string2Date(recordTime, DateUtils.format2));
  191 + passFail.setCreateTime(new Date());
  192 + passFail.setSchoolId(user.getSchoolId());
  193 + xaFeign.insertPassFail(passFail);
  194 + }
  195 + }
  196 + }
  197 + }
  198 +
  199 + private static void push(byte[] recv,XaFeign xaFeign){
  200 + long index = WgUdpCommShort.getXidOfCommand(recv);
  201 + long sno = WgUdpCommShort.getLongByByte(recv, 4, 4);
  202 + String functionId = WGUtils.byte2Hex(recv[1]);
  203 + SendMessageDto sendMessage = xaFeign.selectMessage(sno+"",index,functionId);
  204 + if(sendMessage != null){
  205 + if(recv[8] == 1){
  206 + sendMessage.setCorrect(1);
  207 + }else {
  208 + sendMessage.setCorrect(0);
  209 + }
  210 + StringBuffer result = new StringBuffer();
  211 + for(byte b : recv){
  212 + result.append(WGUtils.byte2Hex(b)).append("-");
  213 + }
  214 + sendMessage.setResult(result.toString().substring(0,result.toString().length()-1));
  215 + xaFeign.updateMessage(sendMessage.getId(),sendMessage.getResult(),sendMessage.getCorrect());
  216 + }
  217 + }
  218 +
  219 + //远程开门
  220 + public static long openDoor(XaFeign xaFeign,long sno , String outsideOrderId,int doorNo , String cardNo){
  221 + WgUdpCommShort pkt = new WgUdpCommShort();
  222 + pkt.iDevSn = sno;
  223 + try{
  224 + int doorNO =doorNo;
  225 + pkt.Reset();
  226 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  227 + pkt.data[0] =(byte) (doorNO & 0xff);
  228 + if(StringUtils.isNotBlank(cardNo)){
  229 + pkt.data[20] = WGUtils.toHex(cardNo.substring(0,2));
  230 + pkt.data[21] = WGUtils.toHex(cardNo.substring(2,4));
  231 + pkt.data[22] = WGUtils.toHex(cardNo.substring(4,6));
  232 + pkt.data[23] = WGUtils.toHex(cardNo.substring(6,8));
  233 + }
  234 + byte[] bytes = pkt.toByte();
  235 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  236 + long result = insert(xaFeign,sno+"",outsideOrderId,cardNo,index,bytes);
  237 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  238 + return result ;
  239 + }catch (Exception e){
  240 + Log_error.error(e.toString());
  241 + }
  242 + return 0L;
  243 + }
  244 +
  245 + //重置控制板时间
  246 + public static long setTime(XaFeign xaFeign,long sno , String outsideOrderId){
  247 + WgUdpCommShort pkt = new WgUdpCommShort();
  248 + pkt.iDevSn = sno;
  249 + try{
  250 + pkt.Reset();
  251 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  252 + Calendar cal = (Calendar.getInstance());
  253 + pkt.data[0] = WGUtils.toHex(String.valueOf(cal.get(Calendar.YEAR)).substring(0,2));
  254 + pkt.data[1] = WGUtils.toHex(String.valueOf(cal.get(Calendar.YEAR)).substring(2,4));
  255 + pkt.data[2] = WGUtils.toHex(String.valueOf(cal.get(Calendar.MONTH)+1));
  256 + pkt.data[3] = WGUtils.toHex(String.valueOf(cal.get(Calendar.DATE)));
  257 + pkt.data[4] =WGUtils.toHex(String.valueOf(cal.get(Calendar.HOUR_OF_DAY)));
  258 + pkt.data[5] =WGUtils.toHex(String.valueOf(cal.get(Calendar.MINUTE)));
  259 + pkt.data[6] = WGUtils.toHex(String.valueOf(cal.get(Calendar.SECOND)));
  260 + byte[] bytes = pkt.toByte();
  261 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  262 + long result = insert(xaFeign,sno+"",outsideOrderId,null,index,bytes);
  263 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  264 + return result ;
  265 + }catch (Exception e){
  266 + Log_error.error(e.toString());
  267 + }
  268 + return 0L;
  269 + }
  270 +
  271 +
  272 +
  273 + //设置考勤时段
  274 + public static List<Long> SetAttendanceTime(XaFeign xaFeign,long sno ,String outsideOrderId, int shiduan , Date begin ,Date end ,
  275 + int isMonDay ,int isTuesDay , int isWednesDay ,int isThursDay , int isFriday ,
  276 + int isSaturDay , int isWeekend , String shiqu){
  277 + List<Long> resultList = new ArrayList<>();
  278 + WgUdpCommShort pkt = new WgUdpCommShort();
  279 + pkt.iDevSn = sno;
  280 + try{
  281 + pkt.Reset();
  282 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  283 + String[] shiQuArray = shiqu.split(",");
  284 + int shiDuanCount = shiQuArray.length / 6 ;
  285 + for (int i = 0; i < shiDuanCount; i++){
  286 + if (i == 0) {
  287 + pkt.data[0] = WGUtils.toHex(shiduan+"");
  288 + } else {
  289 + pkt.data[0] = WGUtils.toHex((shiduan+20*i)+"");
  290 + }
  291 + Calendar c = Calendar.getInstance();
  292 + c.setTime(begin);
  293 + //开始时间 20 19 01 01
  294 + pkt.data[1] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2));
  295 + pkt.data[2] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4));
  296 + pkt.data[3] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1));
  297 + pkt.data[4] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE)));
  298 + //结束时间
  299 + c.setTime(end);
  300 + pkt.data[5] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2));
  301 + pkt.data[6] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4));
  302 + pkt.data[7] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1));
  303 + pkt.data[8] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE)));
  304 + //星期几 有效
  305 + pkt.data[9] = WGUtils.toHex(String.valueOf(isMonDay));
  306 + pkt.data[10] = WGUtils.toHex(String.valueOf(isTuesDay));
  307 + pkt.data[11] = WGUtils.toHex(String.valueOf(isWednesDay));
  308 + pkt.data[12] = WGUtils.toHex(String.valueOf(isThursDay));
  309 + pkt.data[13] = WGUtils.toHex(String.valueOf(isFriday));
  310 + pkt.data[14] = WGUtils.toHex(String.valueOf(isSaturDay));
  311 + pkt.data[15] = WGUtils.toHex(String.valueOf(isWeekend));
  312 + //有效时区
  313 + pkt.data[16] = WGUtils.toHex(shiQuArray[i * 6 + 0].substring(0, 2));
  314 + pkt.data[17] = WGUtils.toHex(shiQuArray[i * 6 + 0].substring(3, 5));
  315 +
  316 + pkt.data[18] = WGUtils.toHex(shiQuArray[i * 6 + 1].substring(0, 2));
  317 + pkt.data[19] = WGUtils.toHex(shiQuArray[i * 6 + 1].substring(3, 5));
  318 +
  319 + pkt.data[20] = WGUtils.toHex(shiQuArray[i * 6 + 2].substring(0, 2));
  320 + pkt.data[21] = WGUtils.toHex(shiQuArray[i * 6 + 2].substring(3, 5));
  321 +
  322 + pkt.data[22] = WGUtils.toHex(shiQuArray[i * 6 + 3].substring(0, 2));
  323 + pkt.data[23] = WGUtils.toHex(shiQuArray[i * 6 + 3].substring(3, 5));
  324 +
  325 + pkt.data[24] = WGUtils.toHex(shiQuArray[i * 6 + 4].substring(0, 2));
  326 + pkt.data[25] = WGUtils.toHex(shiQuArray[i * 6 + 4].substring(3, 5));
  327 +
  328 + pkt.data[26] = WGUtils.toHex(shiQuArray[i * 6 + 5].substring(0, 2));
  329 + pkt.data[27] = WGUtils.toHex(shiQuArray[i * 6 + 5].substring(3, 5));
  330 + if (shiDuanCount != 1) {
  331 + //需要链接时段
  332 + if (i != shiDuanCount - 1) {
  333 + //只要不是最后一个时段
  334 + pkt.data[28] = WGUtils.toHex((shiduan+20*(i+1)+""));
  335 + } else {
  336 + pkt.data[28] = 0;
  337 + }
  338 + } else {
  339 + pkt.data[28] = 0;
  340 + }
  341 + byte[] bytes = pkt.toByte();
  342 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  343 + long result = insert(xaFeign,sno+"",outsideOrderId,null,index,bytes);
  344 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  345 + resultList.add(result);
  346 + }
  347 + return resultList ;
  348 + }catch (Exception e){
  349 + Log_error.error(e.toString());
  350 + }
  351 + return resultList;
  352 + }
  353 +
  354 +
  355 + //设置权限
  356 + public static long SetSignalCardInfo(XaFeign xaFeign,long sno , String outsideOrderId, String cardNo , int shiduan , Date begin , Date end){
  357 + WgUdpCommShort pkt = new WgUdpCommShort();
  358 + pkt.iDevSn = sno;
  359 + try{
  360 + pkt.Reset();
  361 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  362 + pkt.iDevSn = sno;
  363 + //0D D7 37 00
  364 + pkt.data[0] = WGUtils.toHex(cardNo.substring(0,2));
  365 + pkt.data[1] = WGUtils.toHex(cardNo.substring(2,4));
  366 + pkt.data[2] = WGUtils.toHex(cardNo.substring(4,6));
  367 + pkt.data[3] = WGUtils.toHex(cardNo.substring(6,8));
  368 +
  369 + //20 10 01 01 起始日期: 2010年01月01日 (必须大于2001年)
  370 + Calendar c = Calendar.getInstance();
  371 + c.setTime(begin);
  372 + pkt.data[4] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2));
  373 + pkt.data[5] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4));
  374 + pkt.data[6] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1));
  375 + pkt.data[7] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE)));
  376 + //20 29 12 31 截止日期: 2029年12月31日
  377 + c.setTime(end);
  378 + pkt.data[8] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(0,2));
  379 + pkt.data[9] = WGUtils.toHex(String.valueOf(c.get(Calendar.YEAR)).substring(2,4));
  380 + pkt.data[10] = WGUtils.toHex(String.valueOf(c.get(Calendar.MONTH)+1));
  381 + pkt.data[11] = WGUtils.toHex(String.valueOf(c.get(Calendar.DATE)));
  382 + //01 允许通过 一号门 [对单门, 双门, 四门控制器有效]
  383 + pkt.data[12] = WGUtils.toHex(shiduan+"");
  384 + //01 允许通过 二号门 [对双门, 四门控制器有效]
  385 + pkt.data[13] = WGUtils.toHex(shiduan+"");
  386 + //01 允许通过 三号门 [对四门控制器有效]
  387 + pkt.data[14] = WGUtils.toHex(shiduan+"");
  388 + //01 允许通过 四号门 [对四门控制器有效]
  389 + pkt.data[15] = WGUtils.toHex(shiduan+"");
  390 + byte[] bytes = pkt.toByte();
  391 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  392 + long result = insert(xaFeign,sno+"",outsideOrderId,cardNo,index,bytes);
  393 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  394 + return result ;
  395 + }catch (Exception e){
  396 + Log_error.error(e.toString());
  397 + }
  398 + return 0l;
  399 + }
  400 +
  401 + //删除单张卡权限
  402 + public static long clearSinglePower(XaFeign xaFeign,long sno ,String outsideOrderId, String cardNo){
  403 + WgUdpCommShort pkt = new WgUdpCommShort();
  404 + pkt.iDevSn = sno;
  405 + try{
  406 + pkt.Reset();
  407 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  408 + pkt.iDevSn = sno;
  409 + pkt.data[0] = WGUtils.toHex(cardNo.substring(0,2));
  410 + pkt.data[1] = WGUtils.toHex(cardNo.substring(2,4));
  411 + pkt.data[2] = WGUtils.toHex(cardNo.substring(4,6));
  412 + pkt.data[3] = WGUtils.toHex(cardNo.substring(6,8));
  413 + byte[] bytes = pkt.toByte();
  414 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  415 + long result = insert(xaFeign,sno+"",outsideOrderId,cardNo,index,bytes);
  416 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  417 + return result ;
  418 + }catch (Exception e){
  419 + Log_error.error(e.toString());
  420 + }
  421 + return 0l;
  422 + }
  423 +
  424 + //删除全部权限
  425 + public static long clearAllPower(XaFeign xaFeign,long sno ,String outsideOrderId){
  426 + WgUdpCommShort pkt = new WgUdpCommShort();
  427 + pkt.iDevSn = sno;
  428 + try{
  429 + pkt.Reset();
  430 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  431 + pkt.iDevSn = sno;
  432 + pkt.data[0] = (byte) 0x55 ;
  433 + pkt.data[1] = (byte) 0xAA ;
  434 + pkt.data[2] = (byte) 0xAA ;
  435 + pkt.data[3] = (byte) 0x55 ;
  436 + byte[] bytes = pkt.toByte();
  437 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  438 + long result = insert(xaFeign,sno+"",outsideOrderId,null,index,bytes);
  439 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  440 + return result ;
  441 + }catch (Exception e){
  442 + Log_error.error(e.toString());
  443 + }
  444 + return 0l;
  445 + }
  446 +
  447 + //查询卡权限
  448 + public static long searchPower(XaFeign xaFeign,long sno ,String outsideOrderId, String cardNo){
  449 + WgUdpCommShort pkt = new WgUdpCommShort();
  450 + pkt.iDevSn = sno;
  451 + try{
  452 + pkt.Reset();
  453 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  454 + pkt.iDevSn = sno;
  455 + pkt.data[0] = WGUtils.toHex(cardNo.substring(0,2));
  456 + pkt.data[1] = WGUtils.toHex(cardNo.substring(2,4));
  457 + pkt.data[2] = WGUtils.toHex(cardNo.substring(4,6));
  458 + pkt.data[3] = WGUtils.toHex(cardNo.substring(6,8));
  459 + byte[] bytes = pkt.toByte();
  460 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  461 + long result = insert(xaFeign,sno+"",outsideOrderId,cardNo,index,bytes);
  462 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  463 + return result ;
  464 + }catch (Exception e){
  465 + Log_error.error(e.toString());
  466 + }
  467 + return 0l;
  468 + }
  469 +
  470 + //删除时段
  471 + public static long clearShiDuan(XaFeign xaFeign,long sno , String outsideOrderId){
  472 + WgUdpCommShort pkt = new WgUdpCommShort();
  473 + pkt.iDevSn = sno;
  474 + try{
  475 + pkt.Reset();
  476 + pkt.functionID = WGUtils.toFunctionHex(outsideOrderId);
  477 + pkt.iDevSn = sno;
  478 + pkt.data[0] = (byte) 0x55 ;
  479 + pkt.data[1] = (byte) 0xAA ;
  480 + pkt.data[2] = (byte) 0xAA ;
  481 + pkt.data[3] = (byte) 0x55 ;
  482 + byte[] bytes = pkt.toByte();
  483 + long index = WgUdpCommShort.getXidOfCommand(bytes);
  484 + long result = insert(xaFeign,sno+"",outsideOrderId,null,index,bytes);
  485 + pkt.run(watchingShortHandler.getSessionMap().get(sno),bytes);
  486 + return result ;
  487 + }catch (Exception e){
  488 + Log_error.error(e.toString());
  489 + }
  490 + return 0l;
  491 + }
  492 +
  493 + private static long insert(XaFeign xaFeign ,String sn ,String functionId , String cardNo , long index , byte[] recv){
  494 +
  495 + StringBuffer send = new StringBuffer();
  496 + for(byte b : recv){
  497 + send.append(WGUtils.byte2Hex(b)).append("-");
  498 + }
  499 + SendMessageDto sendMessage = new SendMessageDto();
  500 + sendMessage.setDeviceId(sn);
  501 + sendMessage.setFunctionId(Integer.toHexString(Integer.valueOf(functionId)));
  502 + sendMessage.setIndex(index);
  503 + sendMessage.setCardNo(cardNo);
  504 + sendMessage.setCreateTime(new Date());
  505 + sendMessage.setSend(send.toString().substring(0,send.toString().length()-1));
  506 + xaFeign.insertMessage(sendMessage);
  507 + return sendMessage.getId();
  508 + }
  509 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WatchingShortHandler.java 0 → 100644
... ... @@ -0,0 +1,90 @@
  1 +package com.sincere.weigeng.utils;
  2 +
  3 +import org.apache.mina.core.buffer.IoBuffer;
  4 +import org.apache.mina.core.service.IoHandlerAdapter;
  5 +import org.apache.mina.core.session.IdleStatus;
  6 +import org.apache.mina.core.session.IoSession;
  7 +
  8 +import java.util.Map;
  9 +import java.util.Queue;
  10 +
  11 +
  12 +/**
  13 + * Class the extends IoHandlerAdapter in order to properly handle
  14 + * connections and the data the connections send
  15 + *
  16 + * @author <a href="http://mina.apache.org" mce_href="http://mina.apache.org">Apache MINA Project</a>
  17 + */
  18 +public class WatchingShortHandler extends IoHandlerAdapter {
  19 +
  20 + private Queue<byte[]> queue;
  21 + private Map<Long , IoSession> sessionMap ;
  22 + public WatchingShortHandler(Queue<byte[]> queue , Map<Long , IoSession> sessionMap) {
  23 + super();
  24 + this.queue = queue;
  25 + this.sessionMap = sessionMap;
  26 + }
  27 +
  28 + /**
  29 + * 异常来关闭session
  30 + */
  31 + @Override
  32 + public void exceptionCaught(IoSession session, Throwable cause)
  33 + throws Exception {
  34 + cause.printStackTrace();
  35 + session.close(true);
  36 + }
  37 +
  38 + /**
  39 + * 服务器端收到一个消息
  40 + */
  41 + @Override
  42 + public void messageReceived(IoSession session, Object message) throws Exception {
  43 + IoBuffer io = (IoBuffer) message;
  44 + if (io.hasRemaining()) {
  45 + byte[] validBytes = new byte[io.remaining()];
  46 + io.get(validBytes,0,io.remaining());
  47 + if (validBytes.length == WgUdpCommShort.WGPacketSize) {
  48 + synchronized (queue) {
  49 + long sn = WgUdpCommShort.getLongByByte(validBytes, 4, 4);
  50 + sessionMap.put(sn,session);
  51 + queue.offer(validBytes);
  52 + }
  53 + } else {
  54 + }
  55 + }
  56 + }
  57 +
  58 + @Override
  59 + public void sessionClosed(IoSession session) throws Exception {
  60 + }
  61 +
  62 + @Override
  63 + public void sessionCreated(IoSession session) throws Exception {
  64 + }
  65 +
  66 + @Override
  67 + public void sessionIdle(IoSession session, IdleStatus status)
  68 + throws Exception {
  69 + }
  70 +
  71 + @Override
  72 + public void sessionOpened(IoSession session) throws Exception {
  73 + }
  74 +
  75 + public Queue<byte[]> getQueue() {
  76 + return queue;
  77 + }
  78 +
  79 + public void setQueue(Queue<byte[]> queue) {
  80 + this.queue = queue;
  81 + }
  82 +
  83 + public Map<Long, IoSession> getSessionMap() {
  84 + return sessionMap;
  85 + }
  86 +
  87 + public void setSessionMap(Map<Long, IoSession> sessionMap) {
  88 + this.sessionMap = sessionMap;
  89 + }
  90 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/utils/WgUdpCommShort.java 0 → 100644
... ... @@ -0,0 +1,120 @@
  1 +package com.sincere.weigeng.utils;
  2 +
  3 +import org.apache.mina.core.buffer.IoBuffer;
  4 +import org.apache.mina.core.session.IoSession;
  5 +
  6 +public class WgUdpCommShort { //短报文协议
  7 +
  8 + public static final int WGPacketSize = 64; //报文长度
  9 + public static final byte Type = 0x17; //2015-04-30 08:50:29 0x19; //类型
  10 + public static final int ControllerPort = 60000; //控制器端口
  11 + public static final long SpecialFlag = 0x55AAAA55; //特殊标识 防止误操作
  12 +
  13 + public static byte[] longToByte(long number) {
  14 + byte[] b = new byte[8];
  15 + for (int i = 0; i < 8; i++) {
  16 + b[i] = (byte) (number % 256);
  17 + number >>= 8;
  18 + }
  19 + return b;
  20 + }
  21 +
  22 + //从字节转换为 long型数据, 最大长度为8字节 低位在前, 高位在后...
  23 + //bytlen (1--8), 不在此范围则返回 -1
  24 + public static long getLongByByte(byte[] data,int startIndex,int bytlen)
  25 + {
  26 + long ret =-1;
  27 + if ((bytlen >=1) && (bytlen <=8))
  28 + {
  29 + ret = getIntByByte(data[startIndex + bytlen-1]);
  30 + for (int i=1; i<bytlen; i++)
  31 + {
  32 + ret <<=8;
  33 + ret += getIntByByte(data[startIndex + bytlen-1-i]);
  34 + }
  35 + }
  36 + return ret;
  37 + }
  38 +
  39 + //将带符号的bt转换为不带符号的int类型数据
  40 + public static int getIntByByte(byte bt) //bt 转换为无符号的int
  41 + {
  42 + if (bt <0)
  43 + {
  44 + return (bt+256);
  45 + }
  46 + else
  47 + {
  48 + return bt;
  49 + }
  50 + }
  51 +
  52 +
  53 + public byte functionID; //功能号
  54 + public long iDevSn; //设备序列号 4字节
  55 + public byte[] data= new byte[56]; //56字节的数据 [含流水号]
  56 +
  57 + private static long _Global_xid = 0;
  58 + protected long _xid = 0; //2011-5-12 15:28:37
  59 + void GetNewXid() //2011-1-10 14:22:16 获取新的Xid
  60 + {
  61 + _Global_xid++;
  62 + _xid = _Global_xid; //新的值
  63 + }
  64 + static long getXidOfCommand(byte[] cmd) //获取指令中的xid
  65 + {
  66 + long ret = -1;
  67 + if (cmd.length >= WGPacketSize)
  68 + {
  69 + ret = getLongByByte(cmd, 40, 4);
  70 + }
  71 + return ret;
  72 + }
  73 +
  74 + public WgUdpCommShort()
  75 + {
  76 + Reset();
  77 + }
  78 + public void Reset() //数据复位
  79 + {
  80 + for(int i=0; i<data.length; i++)
  81 + {
  82 + data[i] =0;
  83 + }
  84 + }
  85 + public byte[] toByte() //生成64字节指令包
  86 + {
  87 + byte[] buff =new byte[WGPacketSize];
  88 + for(int i=0; i<data.length; i++)
  89 + {
  90 + buff[i] =0;
  91 + }
  92 + buff[0] = Type;
  93 + buff[1] = functionID;
  94 + System.arraycopy(longToByte(iDevSn), 0, buff, 4, 4);
  95 + System.arraycopy(data, 0, buff, 8, data.length);
  96 +
  97 + GetNewXid();
  98 + System.arraycopy(longToByte(_xid), 0, buff, 40, 4);
  99 + return buff;
  100 + }
  101 +
  102 + public void run(IoSession ioSession , byte[] command){
  103 + byte[] bytCommand = command;
  104 + IoBuffer b;
  105 + Boolean bSent =false;
  106 + //ioSession = connFuture.getSession();
  107 + if (ioSession !=null)
  108 + {
  109 + if (ioSession.isConnected())
  110 + {
  111 + b = IoBuffer.allocate(bytCommand.length);
  112 + b.put(bytCommand);
  113 + b.flip();
  114 + ioSession.write(b);
  115 + bSent = true;
  116 + }
  117 + }
  118 + }
  119 +
  120 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/vo/AttendanceTimeVo.java 0 → 100644
... ... @@ -0,0 +1,156 @@
  1 +package com.sincere.weigeng.vo;
  2 +
  3 +import java.util.Date;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/1 0001 8:00
  9 + */
  10 +public class AttendanceTimeVo {
  11 + /**
  12 + * 设置考勤时段
  13 + * @param id 指令id
  14 + * @param sn 设备号
  15 + * @param shiduan 时段
  16 + * @param start 开始时间
  17 + * @param end 截止时间
  18 + * @param IsMonday 周一是否有效 0 无效 1有效
  19 + * @param IsTuesday 周二是否有效 0 无效 1有效
  20 + * @param IsWednesday 周三是否有效 0 无效 1有效
  21 + * @param IsThursday 周四是否有效 0 无效 1有效
  22 + * @param IsFriday 周五是否有效 0 无效 1有效
  23 + * @param IsSaturday 周六是否有效 0 无效 1有效
  24 + * @param IsWeekend 周日是否有效 0 无效 1有效
  25 + * @param shiqu 具体的时间点,格式 “09:09,11:11,00:00,00:00,00:00,00:00”
  26 + * 注意:时间点之间拿英文的都好隔开。时与分不足两位要补0。一个完整的时段需要6个时间点。不足6个的要补“00:00”
  27 + * @param type 设备类型
  28 + * @return
  29 + */
  30 + private int id ;
  31 + private int type ;
  32 + private long sn ;
  33 + private int shiduan ;
  34 + private Date start ;
  35 + private Date end ;
  36 + private int IsMonday ;
  37 + private int IsTuesday ;
  38 + private int IsWednesday ;
  39 + private int IsThursday ;
  40 + private int IsFriday ;
  41 + private int IsSaturday ;
  42 + private int IsWeekend ;
  43 + private String shiqu ;
  44 +
  45 + public int getId() {
  46 + return id;
  47 + }
  48 +
  49 + public void setId(int id) {
  50 + this.id = id;
  51 + }
  52 +
  53 + public int getType() {
  54 + return type;
  55 + }
  56 +
  57 + public void setType(int type) {
  58 + this.type = type;
  59 + }
  60 +
  61 + public Date getStart() {
  62 + return start;
  63 + }
  64 +
  65 + public void setStart(Date start) {
  66 + this.start = start;
  67 + }
  68 +
  69 + public Date getEnd() {
  70 + return end;
  71 + }
  72 +
  73 + public void setEnd(Date end) {
  74 + this.end = end;
  75 + }
  76 +
  77 + public int getIsMonday() {
  78 + return IsMonday;
  79 + }
  80 +
  81 + public void setIsMonday(int isMonday) {
  82 + IsMonday = isMonday;
  83 + }
  84 +
  85 + public int getIsTuesday() {
  86 + return IsTuesday;
  87 + }
  88 +
  89 + public void setIsTuesday(int isTuesday) {
  90 + IsTuesday = isTuesday;
  91 + }
  92 +
  93 + public int getIsWednesday() {
  94 + return IsWednesday;
  95 + }
  96 +
  97 + public void setIsWednesday(int isWednesday) {
  98 + IsWednesday = isWednesday;
  99 + }
  100 +
  101 + public int getIsThursday() {
  102 + return IsThursday;
  103 + }
  104 +
  105 + public void setIsThursday(int isThursday) {
  106 + IsThursday = isThursday;
  107 + }
  108 +
  109 + public int getIsFriday() {
  110 + return IsFriday;
  111 + }
  112 +
  113 + public void setIsFriday(int isFriday) {
  114 + IsFriday = isFriday;
  115 + }
  116 +
  117 + public int getIsSaturday() {
  118 + return IsSaturday;
  119 + }
  120 +
  121 + public void setIsSaturday(int isSaturday) {
  122 + IsSaturday = isSaturday;
  123 + }
  124 +
  125 + public int getIsWeekend() {
  126 + return IsWeekend;
  127 + }
  128 +
  129 + public void setIsWeekend(int isWeekend) {
  130 + IsWeekend = isWeekend;
  131 + }
  132 +
  133 + public String getShiqu() {
  134 + return shiqu;
  135 + }
  136 +
  137 + public void setShiqu(String shiqu) {
  138 + this.shiqu = shiqu;
  139 + }
  140 +
  141 + public long getSn() {
  142 + return sn;
  143 + }
  144 +
  145 + public void setSn(long sn) {
  146 + this.sn = sn;
  147 + }
  148 +
  149 + public int getShiduan() {
  150 + return shiduan;
  151 + }
  152 +
  153 + public void setShiduan(int shiduan) {
  154 + this.shiduan = shiduan;
  155 + }
  156 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/vo/CardInfo.java 0 → 100644
... ... @@ -0,0 +1,54 @@
  1 +package com.sincere.weigeng.vo;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/11/1 0001 8:09
  7 + */
  8 +public class CardInfo {
  9 +
  10 + /**
  11 + *
  12 + * @param id 指令
  13 + * @param sn 设备号
  14 + * @param cardNo 卡号
  15 + * @param type 设备类型
  16 + * @return
  17 + */
  18 + private int id ;
  19 + private int type ;
  20 + private long sn ;
  21 + private String cardNo ;
  22 +
  23 + public int getId() {
  24 + return id;
  25 + }
  26 +
  27 + public void setId(int id) {
  28 + this.id = id;
  29 + }
  30 +
  31 + public int getType() {
  32 + return type;
  33 + }
  34 +
  35 + public void setType(int type) {
  36 + this.type = type;
  37 + }
  38 +
  39 + public long getSn() {
  40 + return sn;
  41 + }
  42 +
  43 + public void setSn(long sn) {
  44 + this.sn = sn;
  45 + }
  46 +
  47 + public String getCardNo() {
  48 + return cardNo;
  49 + }
  50 +
  51 + public void setCardNo(String cardNo) {
  52 + this.cardNo = cardNo;
  53 + }
  54 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/vo/CleanShiDuanVo.java 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +package com.sincere.weigeng.vo;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/11/1 0001 8:12
  7 + */
  8 +public class CleanShiDuanVo {
  9 +
  10 + /**
  11 + *
  12 + * @param id 指令
  13 + * @param sn 设备号
  14 + * @param type 设备类型
  15 + * @return
  16 + */
  17 + private int id ;
  18 + private int type ;
  19 + private long sn ;
  20 +
  21 + public int getId() {
  22 + return id;
  23 + }
  24 +
  25 + public void setId(int id) {
  26 + this.id = id;
  27 + }
  28 +
  29 + public int getType() {
  30 + return type;
  31 + }
  32 +
  33 + public void setType(int type) {
  34 + this.type = type;
  35 + }
  36 +
  37 + public long getSn() {
  38 + return sn;
  39 + }
  40 +
  41 + public void setSn(long sn) {
  42 + this.sn = sn;
  43 + }
  44 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/vo/OpenDoorVo.java 0 → 100644
... ... @@ -0,0 +1,53 @@
  1 +package com.sincere.weigeng.vo;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/11/1 0001 7:58
  7 + */
  8 +public class OpenDoorVo {
  9 + /**
  10 + * 开门
  11 + * @param sn 设备号
  12 + * @param id 指令id
  13 + * @param doorNo 门号
  14 + * @param type 设备类型 微耕 =1
  15 + * @return
  16 + */
  17 + private int id ;
  18 + private int type ;
  19 + private long sn ;
  20 + private int doorNo ;
  21 +
  22 + public int getId() {
  23 + return id;
  24 + }
  25 +
  26 + public void setId(int id) {
  27 + this.id = id;
  28 + }
  29 +
  30 + public int getType() {
  31 + return type;
  32 + }
  33 +
  34 + public void setType(int type) {
  35 + this.type = type;
  36 + }
  37 +
  38 + public long getSn() {
  39 + return sn;
  40 + }
  41 +
  42 + public void setSn(long sn) {
  43 + this.sn = sn;
  44 + }
  45 +
  46 + public int getDoorNo() {
  47 + return doorNo;
  48 + }
  49 +
  50 + public void setDoorNo(int doorNo) {
  51 + this.doorNo = doorNo;
  52 + }
  53 +}
... ...
cloud/weigeng/src/main/java/com/sincere/weigeng/vo/SignalCardInfoVo.java 0 → 100644
... ... @@ -0,0 +1,95 @@
  1 +package com.sincere.weigeng.vo;
  2 +
  3 +import java.util.Date;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/11/1 0001 8:05
  9 + */
  10 +public class SignalCardInfoVo {
  11 + /**
  12 + * 单个卡号的权限添加或修改
  13 + * @param updateId updateCard 主键
  14 + * @param cardNo 卡号 十进制
  15 + * @param id 指令
  16 + * @param sn 设备号
  17 + * @param shiduan 时段
  18 + * @param startTime 卡权限有效开始时间
  19 + * @param endTime 卡权限有效结束时间
  20 + * @param type 设备类型
  21 + * @return
  22 + */
  23 + private int id ;
  24 + private int type ;
  25 + private int updateId ;
  26 + private String cardNo ;
  27 + private long sn ;
  28 + private Date startTime ;
  29 + private Date endTime ;
  30 + private int shiduan ;
  31 +
  32 + public int getId() {
  33 + return id;
  34 + }
  35 +
  36 + public void setId(int id) {
  37 + this.id = id;
  38 + }
  39 +
  40 + public int getType() {
  41 + return type;
  42 + }
  43 +
  44 + public void setType(int type) {
  45 + this.type = type;
  46 + }
  47 +
  48 + public int getUpdateId() {
  49 + return updateId;
  50 + }
  51 +
  52 + public void setUpdateId(int updateId) {
  53 + this.updateId = updateId;
  54 + }
  55 +
  56 + public String getCardNo() {
  57 + return cardNo;
  58 + }
  59 +
  60 + public void setCardNo(String cardNo) {
  61 + this.cardNo = cardNo;
  62 + }
  63 +
  64 + public long getSn() {
  65 + return sn;
  66 + }
  67 +
  68 + public void setSn(long sn) {
  69 + this.sn = sn;
  70 + }
  71 +
  72 + public Date getStartTime() {
  73 + return startTime;
  74 + }
  75 +
  76 + public void setStartTime(Date startTime) {
  77 + this.startTime = startTime;
  78 + }
  79 +
  80 + public Date getEndTime() {
  81 + return endTime;
  82 + }
  83 +
  84 + public void setEndTime(Date endTime) {
  85 + this.endTime = endTime;
  86 + }
  87 +
  88 + public int getShiduan() {
  89 + return shiduan;
  90 + }
  91 +
  92 + public void setShiduan(int shiduan) {
  93 + this.shiduan = shiduan;
  94 + }
  95 +}
... ...
cloud/weigeng/src/main/resources/application.yaml
1 1 server:
2   - port: 1200
  2 + port: 9000
3 3  
4 4 spring:
5 5 application:
6   - name: weigen-server
  6 + name: weigeng-server
7 7 profiles:
8 8 active: dev
9   - datasource:
10   - username: szjxtuser
11   - password: RQminVCJota3H1u8bBYH
12   - url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
13   - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
14   -# datasource:
15   -# username: szjxtuser
16   -# password: RQminVCJota3H1u8bBYH
17   -# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartAdmin
  9 +
18 10  
19 11 eureka:
20 12 instance:
... ... @@ -24,10 +16,5 @@ eureka:
24 16 client:
25 17 service-url:
26 18 # defaultZone: http://localhost:8761/eureka/
27   - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
28   -
  19 + defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
29 20  
30   -mybatis:
31   - type-aliases-package: com.sincere.weigeng.dao
32   - mapper-locations: classpath:mapper/*.xml
33   - config-location: classpath:mybatis-config.xml
... ...
cloud/weigeng/src/main/resources/logback.xml 0 → 100644
... ... @@ -0,0 +1,118 @@
  1 +<?xml version="1.0" encoding="utf-8" ?>
  2 +<configuration scan="true" scanPeriod="60 seconds" debug="false">
  3 + <!-- 定义日志文件 输入位置 -->
  4 + <property name="logPath" value="d:/wg_log" />
  5 + <!-- 日志最大的历史 30天 -->
  6 + <property name="maxHistory" value="600"/>
  7 +
  8 + <!-- 配置项, 通过此节点配置日志输出位置(控制台、文件、数据库)、输出格式等-->
  9 + <!-- ConsoleAppender代表输出到控制台 -->
  10 + <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
  11 + <!-- layout代表输出格式 -->
  12 + <layout class="ch.qos.logback.classic.PatternLayout">
  13 + <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
  14 + </layout>
  15 + </appender>
  16 + <!-- 日志输出文件 -->
  17 + <appender name="orderSuccessInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  18 + <encoder>
  19 + <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern>
  20 + </encoder>
  21 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  22 + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy">
  23 + <multiple>1</multiple>
  24 + </timeBasedFileNamingAndTriggeringPolicy>
  25 + <!-- 输出路径 -->
  26 + <fileNamePattern>${logPath}/info/orderSuccess/%d{yyyy-MM-dd HH}.log</fileNamePattern>
  27 + <maxHistory>${maxHistory}</maxHistory>
  28 + </rollingPolicy>
  29 + </appender>
  30 + <appender name="orderFailInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  31 + <encoder>
  32 + <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern>
  33 + </encoder>
  34 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  35 + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy">
  36 + <multiple>1</multiple>
  37 + </timeBasedFileNamingAndTriggeringPolicy>
  38 + <!-- 输出路径 -->
  39 + <fileNamePattern>${logPath}/info/orderFail/%d{yyyy-MM-dd HH}.log</fileNamePattern>
  40 + <maxHistory>${maxHistory}</maxHistory>
  41 + </rollingPolicy>
  42 + </appender>
  43 + <appender name="heartBeatLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  44 + <encoder>
  45 + <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern>
  46 + </encoder>
  47 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  48 + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy">
  49 + <multiple>1</multiple>
  50 + </timeBasedFileNamingAndTriggeringPolicy>
  51 + <!-- 输出路径 -->
  52 + <fileNamePattern>${logPath}/info/heartBeat/%d{yyyy-MM-dd HH}.log</fileNamePattern>
  53 + <maxHistory>${maxHistory}</maxHistory>
  54 + </rollingPolicy>
  55 + </appender>
  56 + <appender name="kaoInfoInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  57 + <encoder>
  58 + <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern>
  59 + </encoder>
  60 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  61 + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy">
  62 + <multiple>1</multiple>
  63 + </timeBasedFileNamingAndTriggeringPolicy>
  64 + <!-- 输出路径 -->
  65 + <fileNamePattern>${logPath}/info/kaoInfo/%d{yyyy-MM-dd HH}.log</fileNamePattern>
  66 + <maxHistory>${maxHistory}</maxHistory>
  67 + </rollingPolicy>
  68 + </appender>
  69 +
  70 +
  71 + <!-- 特殊记录Error日志 -->
  72 + <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  73 + <!-- 只记录ERROR级别日志,添加范围过滤,可以将该类型的日志特殊记录到某个位置 -->
  74 + <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  75 + <level>ERROR</level>
  76 + </filter>
  77 + <encoder>
  78 + <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
  79 + </encoder>
  80 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  81 + <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy">
  82 + <multiple>1</multiple>
  83 + </timeBasedFileNamingAndTriggeringPolicy>
  84 + <fileNamePattern>${logPath}/infoError/${PROJECT_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
  85 + <!-- 日志最大的历史 60天 -->
  86 + <maxHistory>${maxHistory}</maxHistory>
  87 + </rollingPolicy>
  88 + </appender>
  89 +
  90 + <!-- 不同的业务逻辑日志打印到指定文件夹-->
  91 + <logger name="orderSuccess" additivity="false" level="INFO">
  92 + <appender-ref ref="orderSuccessInfoLog"/>
  93 + </logger>
  94 + <logger name="orderFail" additivity="false" level="INFO">
  95 + <appender-ref ref="orderFailInfoLog"/>
  96 + </logger>
  97 + <logger name="kaoInfo" additivity="false" level="INFO">
  98 + <appender-ref ref="kaoInfoInfoLog"/>
  99 + </logger>
  100 + <logger name="heartBeat" additivity="false" level="INFO">
  101 + <appender-ref ref="heartBeatLog"/>
  102 + </logger>
  103 + <logger name="error" additivity="false" level="ERROR">
  104 + <appender-ref ref="fileErrorLog"/>
  105 + </logger>
  106 +
  107 + <root level="info">
  108 +        <appender-ref ref="consoleLog" />
  109 + <appender-ref ref="orderSuccessInfoLog" />
  110 + <appender-ref ref="orderFailInfoLog" />
  111 + <appender-ref ref="kaoInfoInfoLog" />
  112 + <appender-ref ref="heartBeatLog" />
  113 + </root>
  114 +
  115 + <root level="error">
  116 + <appender-ref ref="fileErrorLog" />
  117 + </root>
  118 +</configuration>
0 119 \ No newline at end of file
... ...
cloud/weigeng/src/main/resources/mybatis-config.xml
... ... @@ -1,35 +0,0 @@
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<!DOCTYPE configuration
3   - PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4   - "http://mybatis.org/dtd/mybatis-3-config.dtd">
5   -
6   -<configuration>
7   - <properties >
8   - <property name="dialect" value="mysql" />
9   - </properties>
10   - <settings>
11   - <!-- 这个配置使全局的映射器启用或禁用缓存。系统默认值是true,设置只是为了展示出来 -->
12   - <setting name="cacheEnabled" value="true" />
13   - <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。 系统默认值是true,设置只是为了展示出来 -->
14   - <setting name="lazyLoadingEnabled" value="true" />
15   - <!-- 允许或不允许多种结果集从一个单独的语句中返回(需要适合的驱动)。 系统默认值是true,设置只是为了展示出来 -->
16   - <setting name="multipleResultSetsEnabled" value="true" />
17   - <!--使用列标签代替列名。不同的驱动在这方便表现不同。参考驱动文档或充分测试两种方法来决定所使用的驱动。 系统默认值是true,设置只是为了展示出来 -->
18   - <setting name="useColumnLabel" value="true" />
19   - <!--允许 JDBC 支持生成的键。需要适合的驱动。如果设置为 true 则这个设置强制生成的键被使用,尽管一些驱动拒绝兼容但仍然有效(比如
20   - Derby)。 系统默认值是false,设置只是为了展示出来 -->
21   - <setting name="useGeneratedKeys" value="false" />
22   - <!--配置默认的执行器。SIMPLE 执行器没有什么特别之处。REUSE 执行器重用预处理语句。BATCH 执行器重用语句和批量更新 系统默认值是SIMPLE,设置只是为了展示出来 -->
23   - <setting name="defaultExecutorType" value="SIMPLE" />
24   - <!--设置超时时间,它决定驱动等待一个数据库响应的时间。 系统默认值是null,设置只是为了展示出来 -->
25   - <setting name="defaultStatementTimeout" value="25000" />
26   - </settings>
27   -
28   - <!--<typeAliases>-->
29   - <!--<typeAlias alias="user" type="com.shunzhi.mqtt2kanban.bean.User"/>-->
30   - <!--</typeAliases>-->
31   -
32   - <!--<mappers>-->
33   - <!--<control resource="mybatis/control/UserMapper.xml"/>-->
34   - <!--</mappers>-->
35   -</configuration>
36 0 \ No newline at end of file
cloud/weigeng/src/test/java/com/sincere/weigeng/WeigengApplicationTests.java
... ... @@ -1,570 +0,0 @@
1   -package com.sincere.weigeng;
2   -
3   -import com.drew.imaging.jpeg.JpegMetadataReader;
4   -import com.drew.imaging.jpeg.JpegProcessingException;
5   -import com.drew.metadata.Directory;
6   -import com.drew.metadata.Metadata;
7   -import com.drew.metadata.Tag;
8   -import com.drew.metadata.exif.ExifDirectory;
9   -import com.sincere.weigeng.dao.UserDao;
10   -import org.apache.poi.hssf.usermodel.HSSFCell;
11   -import org.apache.poi.hssf.usermodel.HSSFRow;
12   -import org.apache.poi.hssf.usermodel.HSSFSheet;
13   -import org.apache.poi.hssf.usermodel.HSSFWorkbook;
14   -import org.json.JSONArray;
15   -import org.json.JSONObject;
16   -import org.junit.Test;
17   -import org.junit.runner.RunWith;
18   -import org.springframework.beans.factory.annotation.Autowired;
19   -import org.springframework.boot.test.context.SpringBootTest;
20   -import org.springframework.http.HttpEntity;
21   -import org.springframework.http.HttpHeaders;
22   -import org.springframework.http.MediaType;
23   -import org.springframework.http.ResponseEntity;
24   -import org.springframework.test.context.junit4.SpringRunner;
25   -import org.springframework.util.LinkedMultiValueMap;
26   -import org.springframework.util.MultiValueMap;
27   -import org.springframework.web.client.RestTemplate;
28   -
29   -import javax.imageio.ImageIO;
30   -import java.awt.*;
31   -import java.awt.image.BufferedImage;
32   -import java.io.*;
33   -import java.text.SimpleDateFormat;
34   -import java.util.*;
35   -import java.util.List;
36   -
37   -@RunWith(SpringRunner.class)
38   -@SpringBootTest
39   -public class WeigengApplicationTests {
40   -
41   - @Autowired
42   - TestDao testDao;
43   -
44   - @Test
45   - public void contextLoads() {
46   -
47   - try {
48   - BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\taohandong\\Desktop\\json.txt"));
49   - String content = null;
50   - StringBuilder stringBuilder = new StringBuilder();
51   - while ((content = bufferedReader.readLine()) != null) {
52   - stringBuilder.append(content);
53   - }
54   -
55   - JSONObject jsonObject = new JSONObject(stringBuilder.toString());
56   - JSONObject data = jsonObject.optJSONObject("data");
57   - JSONArray questions = data.optJSONArray("questions");
58   - for (int i = 0; i < questions.length(); i++) {
59   - JSONObject question = questions.optJSONObject(i);
60   - String question_text = question.optString("question_text");
61   - String answer = question.optString("answer");//答案
62   - String explanation = question.optString("explanation");//解析
63   -// <p><img src="/Web/Assets/ueditor/asp/upload/image/20190916/15686369926495741.png" title="image.png" alt="image.png"/></p>
64   - explanation = "<p><img src=\"" + explanation + "\" title=\"image.png\" alt=\"image.png\"/></p>";
65   - answer = getAnswer(answer);
66   - System.out.println("question_text:" + question_text + "\r\nanswer:" + answer + "\r\nexplanation:" + explanation);
67   - List<QuestionBean> questionBeans = testDao.getQuestions(question_text);//获取题目
68   - for (int j = 0; j < questionBeans.size(); j++) {
69   - QuestionBean questionBean = questionBeans.get(j);
70   - testDao.updateQuestion(questionBean.getID(), answer, explanation);
71   - }
72   -// System.out.println(questionBeans.toString());
73   - }
74   -
75   - } catch (FileNotFoundException e) {
76   - e.printStackTrace();
77   - } catch (IOException e) {
78   - e.printStackTrace();
79   - }
80   -
81   - }
82   -
83   - private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=24.26683b650b73b63e0b08afa7ac36e880.2592000.1571310480.282335-15990462";
84   -
85   - private String getAnswer(String imgUrl) {
86   - RestTemplate restTemplate = new RestTemplate();
87   -
88   - HttpHeaders headers = new HttpHeaders();
89   - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
90   -
91   - MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>();
92   -// multiValueMap.add("image", ImageUtils.ImageToBase64ByLocal("C:\\Users\\taohandong\\Desktop\\识别.png"));
93   - multiValueMap.add("url", imgUrl);
94   - HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(multiValueMap,
95   -
96   - headers);
97   -
98   - ResponseEntity<String> result = restTemplate.postForEntity(url, requestEntity, String.class);
99   -
100   - JSONObject jsonObject = new JSONObject(result.getBody());
101   -// System.out.println("result:"+result.getBody());
102   - JSONArray words_result = jsonObject.optJSONArray("words_result");
103   -// System.out.println("words_result:"+words_result);
104   - StringBuilder stringBuilder = new StringBuilder();
105   - if (words_result != null) {
106   - for (int i = 0; i < words_result.length(); i++) {
107   - String words = words_result.optJSONObject(i).optString("words");
108   - stringBuilder.append(words + " ");
109   - }
110   - System.out.println("result:" + stringBuilder.toString());
111   - }
112   - return stringBuilder.toString().equals("") ? "B" : stringBuilder.toString();
113   - }
114   -
115   - @Test
116   - public void get() {
117   -
118   -// String url = "https://zujuan.21cnjy.com/api/question/list?xd=1&chid=3&categories=3877&knowledges=&question_channel_type=1&difficult_index=&exam_type=&kid_num=&grade_id=&sort_field=time&filterquestion=0&page=&_grade_id=&tree_type=category&version_id=&_=1568766250186";
119   -// RestTemplate restTemplate = new RestTemplate();
120   -// System.out.println(restTemplate.getForObject(url, String.class));
121   - /*String createrUserId = "zy273789", time = "2019-10-08";
122   - List<TestPaper> testPaperList = testDao.getTestPapers(createrUserId, time);
123   - for (int i = 0; i < testPaperList.size(); i++) {
124   - TestPaper testPaper = testPaperList.get(i);
125   - int schoolId = 11;
126   - testDao.addTestPaper("zy284782", testPaper.getQuestionIds(), testPaper.getStatus(), testPaper.getPublishTime(),
127   - testPaper.getName(), testPaper.getIsRecommend(), testPaper.getState(), testPaper.getIntime(), schoolId + "");
128   -
129   - }*/
130   -
131   - }
132   -
133   -
134   - /**
135   - * 创建试卷
136   - */
137   - @Test
138   - public void createTestPaper() {
139   - String createUserId = "zy309728";
140   - List<TestPaper> testPaperList = testDao.getTestPapers(createUserId, "2019-09-18 16:00:00");
141   - System.out.println("testPaperList:" + testPaperList.toString());
142   -
143   - String addCreateUserId = "zy411337", SchoolId = "885";
144   - /* for (int i = 1; i < testPaperList.size(); i++) {
145   - TestPaper testPaper = testPaperList.get(i);
146   - int ID = testPaper.getID();
147   - //添加试卷
148   - testDao.addTestPaper(addCreateUserId, testPaper.getQuestionIds(), testPaper.getStatus(), testPaper.getPublishTime()
149   - , testPaper.getName(), testPaper.getIsRecommend(), testPaper.getState(), testPaper.getIntime(), SchoolId);
150   -
151   - //发布作业
152   - testDao.addHomework(addCreateUserId, testPaper.getID(), testPaper.getName(), "50", "2019-09-20 18:00", "2", "2019-09-19 19:10", 1, 0, 1, "2019-09-19 19:10", 0, testPaper.getQuestionIds(), 0, 0);
153   - }*/
154   - /*String[] answers = new String[]{"A", "B", "C", "D"};
155   - String QuestionType = "1";
156   - String CorrectAnswer = "";
157   - List<Homework> homeworkList = testDao.getHomeWork(addCreateUserId);
158   - for (int i = 0; i < homeworkList.size(); i++) {
159   - Homework homework = homeworkList.get(i);
160   - String[] questionIds = homework.getQuestionIds().split(",");
161   - for (int j = 0; j < questionIds.length; j++) {
162   - String questionId = questionIds[j];
163   - QuestionBean questionBean = testDao.getQues(questionId);
164   - CorrectAnswer = questionBean.getCorrectAnswer();
165   - String answer = answers[new Random().nextInt(4)];
166   - String IsCorresct = answer.trim().equals(CorrectAnswer.trim()) ? "1" : "3";
167   - testDao.StudentAnswer(questionId, answer, CorrectAnswer, QuestionType, IsCorresct, homework.getID());
168   - }
169   -
170   - }*/
171   -// if (ID <= 4191 && ID >= 4187) {
172   - String classId = "36398";
173   - List<Homework> homeworkList = testDao.getHomeWork(addCreateUserId);
174   - for (int i = 0; i < homeworkList.size(); i++) {
175   - String workId = homeworkList.get(i).getID();
176   -// List<String> stuAnsIds = testDao.getStudentAnsIds(workId);
177   -// String stuAnIds = stuAnsIds.toString().replace("[", "");
178   -// stuAnIds = stuAnIds.replace("]", "");
179   -
180   - List<String> strings = testDao.getStudentIdsWithClassId(classId);
181   - String stuIds = strings.toString().replace("[", "");
182   - stuIds = stuIds.replace("]", "");
183   - String[] stuStrings = stuIds.split(",");//学生id
184   -
185   - for (int j = 0; j < stuStrings.length; j++) {
186   - String studentId = stuStrings[j];
187   -
188   - testDao.HomeworkReceive(workId, classId, studentId, "", "1", j + "", "2019-09-23 21:28:00", "2019-09-22 17:50:00", "1", j + "");
189   - }
190   -
191   - }
192   -
193   - }
194   -
195   - @Autowired
196   - UserDao userDao;
197   -
198   - @Test
199   - public void doHomeWork() {
200   - StudentBean studentBean = new StudentBean();
201   - studentBean.setCard("9A1229A9");
202   - studentBean.setSchool_id(110);
203   - studentBean.setStudentCode("140881200710270056");
204   - studentBean.setCustomerId("583912");
205   -
206   -// userDao.addStudentUpdate(studentBean.getCard(),studentBean.getSchool_id(),studentBean.getStudentCode(),studentBean.getCustomerId(),"1","2"
207   -// ,"55640","2014级(08)班","0","1","2019-09-22 16:26");
208   -
209   - /* String QuestionId = "21656, 21657, 21658, 21659, 21753, 21706, 21724, 21796, 21797, 21798";
210   - String Answer = "";
211   - String CorrectAnswer = "";
212   - String QuestionType = "1";
213   - String IsCorresct = "";
214   - String WorkID = "4198";
215   - String[] questionIds = QuestionId.split(",");
216   - for (int i = 0; i < questionIds.length; i++) {
217   - String questionId = questionIds[i];
218   - QuestionBean questionBean = testDao.getQues(questionId);
219   - CorrectAnswer = questionBean.getCorrectAnswer();
220   - Answer = "B";
221   - IsCorresct = Answer.trim().equals(CorrectAnswer.trim()) ? "1" : "3";
222   - testDao.StudentAnswer(questionId, Answer, CorrectAnswer, QuestionType, IsCorresct, WorkID);
223   - }*/
224   -
225   - }
226   -
227   -
228   - @Test
229   - public void HomeworkRec() {
230   - String WorkID = "4198";
231   - String ClassId = "";
232   - //查询学生id
233   - List<String> list = testDao.getStudentIds("4172");
234   - String StudentIds = list.toString().replace("[", "");
235   - StudentIds = StudentIds.replace("]", "");
236   - System.out.println("StudentIds:" + StudentIds);
237   - String StudnetAnswerIds = testDao.getStudentAnsIds(WorkID).toString().replace("[", "");
238   - StudnetAnswerIds = StudnetAnswerIds.replace("]", "");
239   - String[] studentIds = StudentIds.split(",");
240   - for (int i = 0; i < studentIds.length; i++) {
241   - String studentId = studentIds[i];
242   - String finishTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
243   - testDao.HomeworkReceive(WorkID, ClassId, studentId, StudnetAnswerIds, "1", i + "", "2019-09-19 16:50", finishTime
244   - , "1", "" + i);
245   - }
246   - }
247   -
248   - @Test
249   - public void getQIds() {
250   -
251   - List<Knowledge> knowledges = userDao.getKnowledge();
252   - System.out.println("knowledges:" + knowledges.toString());
253   -
254   - List<JiaoCai> jiaoCais = userDao.getJiaoCai();
255   - System.out.println("jiaoCais:" + jiaoCais.toString());
256   -
257   - for (int i = 0; i < 1; i++) {
258   - JiaoCai jiaoCai = jiaoCais.get(i);
259   - String SubjectId = jiaoCai.getSubjectId();
260   - for (int j = 0; j < knowledges.size(); j++) {
261   - Knowledge knowledge = knowledges.get(j);
262   - if (SubjectId.equals(knowledge.getSubjectId())) {
263   - userDao.addKnowAndJicaoCai(jiaoCai.getID(), knowledge.getId(), 0, 1);
264   - }
265   - }
266   -
267   - }
268   -
269   - }
270   -
271   - @Test
272   - public void tongji() {
273   -
274   - String[] answers = new String[]{"A", "B", "C", "D", "A", "A"};
275   - String createUserId = "zy411337";
276   - List<Homework> homeworkList = testDao.getHomeWork(createUserId);//获取布置的作业
277   - System.out.println("homeworkList:" + homeworkList);
278   - for (int m = 0; m < homeworkList.size(); m++) {
279   - String WorkId = homeworkList.get(m).getID();
280   - Map<String, List<String>> mapRecIDs = new HashMap<>();
281   - System.out.println("workId:" + WorkId);
282   -// List<String> queIds = testDao.getStuAnsIds(WorkId);
283   -// String questionIds = queIds.toString().replace("[", "");
284   -// questionIds = questionIds.replace("]", "");
285   -
286   - //获取正确答案
287   -// List<String> correct = testDao.correctAns(WorkId);
288   -// String corrStr = correct.toString().replace("[", "");
289   -// corrStr = corrStr.replace("]", "");
290   -// String[] correctAnser = corrStr.split(",");
291   -
292   - String questionIds = testDao.getQuestionIds(WorkId);
293   -
294   - //获取答题学生数量
295   - List<String> homeworkReceiveIds = testDao.get_HomeworkReceive(WorkId, "12012");
296   - System.out.println("homeworkReceiveIds:" + homeworkReceiveIds.size());
297   - for (int j = 0; j < homeworkReceiveIds.size(); j++) {//接收学生数量
298   -
299   - String[] quesStirngs = questionIds.split(",");
300   - System.out.println("quesStirngs:" + quesStirngs.length);
301   - for (int i = 0; i < quesStirngs.length; i++) {
302   - String questionId = quesStirngs[i];
303   - String CorrectAnswer = testDao.getCorrectAnswer(questionId);
304   - int randow = new Random().nextInt(6);
305   - String answer = null;
306   - String isCorrsct = "";
307   - if (randow == 0 || randow == 1 || randow == 2 || randow == 3 || randow == 4) {
308   - answer = CorrectAnswer.trim();
309   - isCorrsct = "1";
310   - } else {
311   - answer = answers[randow];
312   - isCorrsct = "3";
313   - }
314   - //插入一条新的记录
315   - testDao.addStudentAnswer(quesStirngs[i], answer.trim(), "", CorrectAnswer.trim(), "1", "", isCorrsct, "", "", WorkId);
316   - }
317   - //获取最新的十条记录
318   - List<String> idLists = testDao.getTopIDs(WorkId, questionIds.split(",").length);
319   - System.out.println("idLists:" + idLists.toString());
320   - mapRecIDs.put(j + "", idLists);
321   - }
322   -// System.out.println("mapRecIDs:" + mapRecIDs.toString() + " 0:" + mapRecIDs.get("0").toString().replace("[", ""));
323   -
324   - for (int i = 0; i < homeworkReceiveIds.size(); i++) {
325   - String homeRecId = homeworkReceiveIds.get(i);
326   - System.out.println("i:" + i);
327   - String ansIds = mapRecIDs.get(i + "").toString().replace("[", "");
328   - ansIds = ansIds.replace("]", "");
329   - testDao.updateHomeWork(ansIds, homeRecId);
330   - }
331   -
332   - List<HomeworkReceive> homRecIDs = testDao.get_HomeworkRec(WorkId);
333   -
334   - Map<String, String> stuMap = new HashMap<>();
335   - for (int i = 0; i < homRecIDs.size(); i++) {
336   - HomeworkReceive homeworkReceive = homRecIDs.get(i);
337   -
338   - String studentId = homeworkReceive.getStudentId();
339   -
340   - String studentName = testDao.getStudentName(studentId);
341   -
342   - String studnetAnswerIds = homeworkReceive.getStudnetAnswerIds();
343   -
344   - String[] stuIds = studnetAnswerIds.split(",");
345   -
346   - String isC = "";
347   - for (int j = 0; j < stuIds.length; j++) {
348   - String id = stuIds[j];
349   - int idCorrect = testDao.getIsCorrect(id);
350   - if (idCorrect == 1) {
351   - isC += "1 ";
352   - } else if (idCorrect == 3) {
353   - isC += "0 ";
354   - }
355   - }
356   - stuMap.put(studentName, isC);
357   - System.out.println("" + studentName + " " + isC);
358   -
359   - }
360   -
361   - }
362   - }
363   -
364   - private void writeToExcel(HSSFWorkbook workbook, String HomeworkTitle, Map<String, String[]> correctAns, String[] names, String title) {
365   - //第二部,在workbook中创建一个sheet对应excel中的sheet
366   - HSSFSheet sheet = workbook.createSheet(HomeworkTitle);
367   - //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制
368   - HSSFRow row = sheet.createRow(0);
369   - //第四步,创建单元格,设置表头
370   - HSSFCell cell = null;
371   - for (int i = 0; i < correctAns.get(names[0]).length; i++) {
372   - cell = row.createCell(i);
373   - cell.setCellValue("第" + (i + 1) + "");
374   - }
375   -
376   - //第五步,写入数据
377   - for (int i = 0; i < names.length; i++) {
378   -
379   -// String oneData =correctAns[i];//姓名对应的正确率
380   - HSSFRow row1 = sheet.createRow(i + 1);
381   - String[] corrects = correctAns.get(names[i]);
382   - System.out.println("names:" + names[i]);
383   - for (int j = 0; j < corrects.length; j++) {
384   - //创建单元格设值
385   - row1.createCell(j).setCellValue(corrects[j]);
386   - }
387   - row1.createCell(corrects.length).setCellValue(names[i]);
388   - }
389   -
390   - //将文件保存到指定的位置
391   - try {
392   - File file = new File("C:\\Users\\taohandong\\Desktop\\文澜\\"+title+".xls");
393   - if (!file.exists())file.createNewFile();
394   - FileOutputStream fos = new FileOutputStream(file);
395   - workbook.write(fos);
396   - System.out.println("写入成功");
397   - fos.close();
398   - } catch (IOException e) {
399   - e.printStackTrace();
400   - }
401   -
402   - }
403   -
404   -
405   - @Test
406   - public void getStu() {
407   - //第一步,创建一个workbook对应一个excel文件
408   - HSSFWorkbook workbook = new HSSFWorkbook();
409   -
410   - String createUserId = "zy595910";
411   - String title="作业";
412   - //ZY_Homework表取出要统计的作业
413   - String WorkId = "4408";
414   - String workName = testDao.getWorkName(WorkId);
415   -
416   - //ZY_HomeworkReceive 表获取学生作业答题情况;
417   - List<HomeworkReceive> homRecIDs = testDao.get_HomeworkRec(WorkId);
418   -
419   - Map<String, String[]> stuMap = new HashMap<>();
420   - String[] names = new String[homRecIDs.size()];
421   - String[] isCorrect = null;
422   - for (int i = 0; i < homRecIDs.size(); i++) {
423   - HomeworkReceive homeworkReceive = homRecIDs.get(i);
424   -
425   - String studentId = homeworkReceive.getStudentId();
426   -
427   - String studentName = testDao.getStudentName(studentId);
428   -
429   - String studnetAnswerIds = homeworkReceive.getStudnetAnswerIds();
430   -// System.out.println("studnetAnswerIds:"+studnetAnswerIds+" WorkId:"+WorkId + " StudentId:"+studentId);
431   - if (null != studnetAnswerIds) {
432   - names[i] = studentName;
433   - String[] stuIds = studnetAnswerIds.split(",");
434   - isCorrect = new String[stuIds.length];
435   - String isC = "";
436   - for (int j = 0; j < stuIds.length; j++) {
437   - String id = stuIds[j];
438   - System.out.println("IsCorrectId:" + id);
439   - //ZY_StudentAnswer表获取题目是否正确
440   - int idCorrect = testDao.getIsCorrect(id);
441   - if (idCorrect == 1) {
442   - isC += "1 ";
443   - isCorrect[j] = "1";
444   - } else if (idCorrect == 3) {
445   - isC += "0 ";
446   - isCorrect[j] = "0";
447   - }
448   - }
449   - stuMap.put(studentName, isCorrect);
450   - System.out.println("" + studentName + " " + isC);
451   - }
452   - }
453   - if (names!=null&&stuMap.size()>0)
454   - writeToExcel(workbook, workName, stuMap, names,title);
455   -// System.out.println("stuMap:" + stuMap.toString());
456   - }
457   -
458   -
459   - /**
460   - * 旋转图片
461   - */
462   - @Test
463   - public void trnImgs() {
464   -
465   - File file = new File("C:\\TaoHandong\\copy\\school479\\StudentCompressed");
466   - File[] files = file.listFiles();
467   -
468   - List<StudentInfo> studentInfos = testDao.getStudents(479);
469   -
470   - List<StudentInfo> studentInfoList = new ArrayList<>();
471   -
472   - for (int i = 0; i < studentInfos.size(); i++) {
473   - StudentInfo studentInfo = studentInfos.get(i);
474   -
475   - boolean isHas = false;
476   - for (int j = 0; j < files.length; j++) {
477   - File img = files[j];
478   - String imgName = img.getName().split("\\.")[0];
479   -
480   - if (imgName.equals(studentInfo.getStudentcode())) {
481   - isHas = true;
482   - break;
483   - }
484   -
485   - }
486   -
487   - if (!isHas) {
488   - studentInfoList.add(studentInfo);
489   - }
490   -
491   - }
492   -
493   - System.out.println("studentInfoList:" + studentInfoList);
494   - //第一步,创建一个workbook对应一个excel文件
495   - HSSFWorkbook workbook = new HSSFWorkbook();
496   - //第二部,在workbook中创建一个sheet对应excel中的sheet
497   - HSSFSheet sheet = workbook.createSheet("缺少的学生人脸");
498   - //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制
499   - HSSFRow row = sheet.createRow(0);
500   -
501   - String[] titles = new String[]{"姓名", "班级", "学籍号", "号码"};
502   - //第四步,创建单元格,设置表头
503   - HSSFCell cell = null;
504   - for (int i = 0; i < titles.length; i++) {
505   - cell = row.createCell(i);
506   - cell.setCellValue(titles[i]);
507   - }
508   -
509   - //第五步,写入数据
510   - for (int i = 0; i < studentInfoList.size(); i++) {
511   - HSSFRow row1 = sheet.createRow(i + 1);
512   - for (int j = 0; j < titles.length; j++) {
513   - String value = studentInfoList.get(i).getClass_name();
514   - switch (j) {
515   - case 0:
516   - value = studentInfoList.get(i).getName();
517   - break;
518   - case 1:
519   - value = studentInfoList.get(i).getClass_name();
520   - break;
521   - case 2:
522   - value = studentInfoList.get(i).getStudentcode();
523   - break;
524   - case 3:
525   - value = studentInfoList.get(i).getParentMobile();
526   - break;
527   - }
528   - //创建单元格设值
529   - row1.createCell(j).setCellValue(value);
530   - }
531   - }
532   -
533   - //将文件保存到指定的位置
534   - try {
535   - FileOutputStream fos = new FileOutputStream("C:\\Users\\taohandong\\Desktop\\result.xls");
536   - workbook.write(fos);
537   - System.out.println("写入成功");
538   - fos.close();
539   - } catch (IOException e) {
540   - e.printStackTrace();
541   - }
542   -
543   - /* File file = new File("C:\\TaoHandong\\copy\\School1030\\Student");
544   -
545   - File outFile = new File("C:\\TaoHandong\\copy\\School1030\\Student1");
546   -
547   - if (!outFile.exists()) outFile.mkdirs();
548   -
549   - File[] files = file.listFiles();
550   - System.out.println("files:" + files.length);
551   - BufferedImage bufferedImage;
552   - for (int i = 0; i < files.length; i++) {
553   - File img = files[i];
554   - int ang = ImageUtils.getImgRotateAngle(img.getAbsolutePath());
555   - System.out.println(img.getName() + " ang:" + ang);
556   -// try {
557   -// bufferedImage = ImageIO.read(img);
558   -// moveImg(bufferedImage,img,outFile);
559   -// } catch (IOException e) {
560   -// e.printStackTrace();
561   -// }
562   -
563   - }*/
564   -
565   - }
566   -
567   - private List<String> name = new ArrayList<>();
568   -
569   -
570   -}
cloud/xiaoan_search/pom.xml 0 → 100644
... ... @@ -0,0 +1,209 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5 + <parent>
  6 + <artifactId>cloud</artifactId>
  7 + <groupId>com.sincere</groupId>
  8 + <version>1.0.0</version>
  9 + </parent>
  10 + <modelVersion>4.0.0</modelVersion>
  11 +
  12 + <artifactId>xiaoan_search</artifactId>
  13 + <dependencies>
  14 + <dependency>
  15 + <groupId>com.sincere</groupId>
  16 + <artifactId>common</artifactId>
  17 + <version>0.0.1-SNAPSHOT</version>
  18 + </dependency>
  19 + <!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
  20 + <dependency>
  21 + <groupId>io.netty</groupId>
  22 + <artifactId>netty-all</artifactId>
  23 + <version>4.1.33.Final</version>
  24 + </dependency>
  25 + <dependency>
  26 + <groupId>org.apache.mina</groupId>
  27 + <artifactId>mina-core</artifactId>
  28 + <version>2.1.3</version>
  29 + </dependency>
  30 + <dependency>
  31 + <groupId>com.microsoft.sqlserver</groupId>
  32 + <artifactId>mssql-jdbc</artifactId>
  33 + <version>6.4.0.jre8</version>
  34 + </dependency>
  35 + <!-- spring boot -->
  36 + <dependency>
  37 + <groupId>org.springframework.boot</groupId>
  38 + <artifactId>spring-boot-starter</artifactId>
  39 + </dependency>
  40 + <dependency>
  41 + <groupId>org.springframework.boot</groupId>
  42 + <artifactId>spring-boot-starter-web</artifactId>
  43 + </dependency>
  44 + <dependency>
  45 + <groupId>org.springframework.boot</groupId>
  46 + <artifactId>spring-boot-starter-aop</artifactId>
  47 + </dependency>
  48 + <!-- spring boot -->
  49 + <dependency>
  50 + <groupId>com.googlecode.rapid-framework</groupId>
  51 + <artifactId>rapid-core</artifactId>
  52 + <version>4.0.5</version>
  53 + </dependency>
  54 + <dependency>
  55 + <groupId>org.apache.commons</groupId>
  56 + <artifactId>commons-lang3</artifactId>
  57 + <version>3.3.2</version>
  58 + </dependency>
  59 + <!--只有slf4j-api依赖-->
  60 + <dependency>
  61 + <groupId>org.slf4j</groupId>
  62 + <artifactId>slf4j-api</artifactId>
  63 + <version>1.7.13</version>
  64 + </dependency>
  65 +
  66 + <dependency>
  67 + <groupId>commons-net</groupId>
  68 + <artifactId>commons-net</artifactId>
  69 + <version>2.0</version>
  70 + </dependency>
  71 + <dependency>
  72 + <groupId>org.apache.poi</groupId>
  73 + <artifactId>poi</artifactId>
  74 + <version>4.1.0</version>
  75 + </dependency>
  76 +
  77 + <dependency>
  78 + <groupId>org.apache.poi</groupId>
  79 + <artifactId>poi-ooxml</artifactId>
  80 + <version>4.1.0</version>
  81 + </dependency>
  82 +
  83 + <dependency>
  84 + <groupId>org.mybatis.spring.boot</groupId>
  85 + <artifactId>mybatis-spring-boot-starter</artifactId>
  86 + <version>1.3.0</version>
  87 + </dependency>
  88 + <dependency>
  89 + <groupId>com.alibaba</groupId>
  90 + <artifactId>druid</artifactId>
  91 + <version>1.0.11</version>
  92 + </dependency>
  93 + <dependency>
  94 + <groupId>io.springfox</groupId>
  95 + <artifactId>springfox-swagger2</artifactId>
  96 + <version>2.6.1</version>
  97 + </dependency>
  98 + <dependency>
  99 + <groupId>io.springfox</groupId>
  100 + <artifactId>springfox-swagger-ui</artifactId>
  101 + <version>2.6.1</version>
  102 + </dependency>
  103 + </dependencies>
  104 + <repositories>
  105 + <repository>
  106 + <id>spring-snapshots</id>
  107 + <name>Spring Snapshots</name>
  108 + <url>https://repo.spring.io/snapshot</url>
  109 + <snapshots>
  110 + <enabled>true</enabled>
  111 + </snapshots>
  112 + </repository>
  113 + <repository>
  114 + <id>spring-milestones</id>
  115 + <name>Spring Milestones</name>
  116 + <url>https://repo.spring.io/milestone</url>
  117 + <snapshots>
  118 + <enabled>false</enabled>
  119 + </snapshots>
  120 + </repository>
  121 + </repositories>
  122 +
  123 +
  124 + <build>
  125 + <!--打包文件名-->
  126 + <finalName>xianao_search</finalName>
  127 + <!--打包方式-->
  128 + <plugins>
  129 + <!-- 设置编译版本 -->
  130 + <plugin>
  131 + <groupId>org.apache.maven.plugins</groupId>
  132 + <artifactId>maven-compiler-plugin</artifactId>
  133 + <version>3.1</version>
  134 + <configuration>
  135 + <source>1.8</source>
  136 + <target>1.8</target>
  137 + <encoding>UTF-8</encoding>
  138 + </configuration>
  139 + </plugin>
  140 + <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
  141 + <!-- 本地启动需要注释-->
  142 + <plugin>
  143 + <groupId>org.apache.maven.plugins</groupId>
  144 + <artifactId>maven-jar-plugin</artifactId>
  145 + <configuration>
  146 + <archive>
  147 + <manifest>
  148 + <mainClass>com.jevon.Application</mainClass>
  149 + <addClasspath>true</addClasspath>
  150 + <classpathPrefix>lib/</classpathPrefix>
  151 + </manifest>
  152 + <manifestEntries>
  153 + <Class-Path>./config/</Class-Path>
  154 + </manifestEntries>
  155 + </archive>
  156 + <excludes>
  157 + <exclude>config/**</exclude>
  158 + </excludes>
  159 + <classesDirectory></classesDirectory>
  160 + </configuration>
  161 + </plugin>
  162 + <!-- 拷贝依赖的jar包到lib目录 -->
  163 + <plugin>
  164 + <groupId>org.apache.maven.plugins</groupId>
  165 + <artifactId>maven-dependency-plugin</artifactId>
  166 + <executions>
  167 + <execution>
  168 + <id>copy</id>
  169 + <phase>package</phase>
  170 + <goals>
  171 + <goal>copy-dependencies</goal>
  172 + </goals>
  173 + <configuration>
  174 + <outputDirectory>
  175 + ${project.build.directory}/lib
  176 + </outputDirectory>
  177 + </configuration>
  178 + </execution>
  179 + </executions>
  180 + </plugin>
  181 + <!-- 解决资源文件的编码问题 -->
  182 + <plugin>
  183 + <groupId>org.apache.maven.plugins</groupId>
  184 + <artifactId>maven-resources-plugin</artifactId>
  185 + <version>2.5</version>
  186 + <configuration>
  187 + <encoding>UTF-8</encoding>
  188 + </configuration>
  189 + </plugin>
  190 + <!-- 打包source文件为jar文件 -->
  191 + <plugin>
  192 + <artifactId>maven-source-plugin</artifactId>
  193 + <version>2.2</version>
  194 + <configuration>
  195 + <attach>true</attach>
  196 + </configuration>
  197 + <executions>
  198 + <execution>
  199 + <phase>compile</phase>
  200 + <goals>
  201 + <goal>jar</goal>
  202 + </goals>
  203 + </execution>
  204 + </executions>
  205 + </plugin>
  206 + </plugins>
  207 + </build>
  208 +
  209 +</project>
0 210 \ No newline at end of file
... ...
cloud/xiaoan_search/src/main/java/com/sincere/xiaoanSearch/XiaoanSearchApplication.java 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +package com.sincere.xiaoanSearch;
  2 +
  3 +import org.mybatis.spring.annotation.MapperScan;
  4 +import org.springframework.boot.SpringApplication;
  5 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  6 +import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  7 +
  8 +/**
  9 + * @author chen
  10 + * @version 1.0
  11 + * @date 2019/11/11 0011 15:40
  12 + */
  13 +@EnableEurekaClient
  14 +@SpringBootApplication
  15 +@MapperScan("com.sincere.xiaoanSearch.mapper")
  16 +public class XiaoanSearchApplication {
  17 +
  18 + public static void main(String[] args) {
  19 + SpringApplication.run(XiaoanSearchApplication.class, args);
  20 + }
  21 +}
... ...
cloud/xiaoan_search/src/main/java/com/sincere/xiaoanSearch/controller/WgController.java 0 → 100644
... ... @@ -0,0 +1,99 @@
  1 +package com.sincere.xiaoanSearch.controller;
  2 +
  3 +import com.sincere.common.dto.xiaoan.*;
  4 +import com.sincere.xiaoanSearch.model.*;
  5 +import com.sincere.xiaoanSearch.service.CheckInService;
  6 +import com.sincere.xiaoanSearch.service.WgService;
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.web.bind.annotation.*;
  9 +
  10 +/**
  11 + * @author chen
  12 + * @version 1.0
  13 + * @date 2019/11/11 0011 15:53
  14 + */
  15 +@RestController
  16 +@RequestMapping("/xa/wg")
  17 +public class WgController {
  18 +
  19 + @Autowired
  20 + CheckInService checkInService;
  21 +
  22 + @Autowired
  23 + WgService wgService;
  24 +
  25 + @RequestMapping(value = "checkIn",method = RequestMethod.POST)
  26 + public CheckOutDto checkIn(@RequestBody CheckInDto checkInDto){
  27 + CheckIn checkIn = new CheckIn(checkInDto);
  28 + checkInService.checkIn(checkIn);
  29 + CheckOutDto checkOutDto = new CheckOutDto();
  30 + checkOutDto.setIsSuccess(checkIn.getIsSuccess());
  31 + checkOutDto.setOut(checkIn.getOut());
  32 + return checkOutDto;
  33 + }
  34 +
  35 + @RequestMapping(value = "insertMessage",method = RequestMethod.POST)
  36 + public long insertMessage(@RequestBody SendMessageDto sendMessageDto){
  37 + SendMessage sendMessage = new SendMessage(sendMessageDto);
  38 + wgService.insertMessage(sendMessage);
  39 + return sendMessage.getId();
  40 + }
  41 +
  42 + @RequestMapping(value = "selectById",method = RequestMethod.GET)
  43 + SendMessageDto selectById(@RequestParam("id") long id){
  44 + SendMessage sendMessage = wgService.selectById(id);
  45 + return toSendMessageDto(sendMessage);
  46 + }
  47 +
  48 + @RequestMapping(value = "selectMessage",method = RequestMethod.GET)
  49 + SendMessageDto selectMessage(@RequestParam("deviceId") String deviceId, @RequestParam("index") long index,@RequestParam("functionId") String functionId){
  50 + SendMessage sendMessage = wgService.selectMessage(deviceId,index,functionId);
  51 + return toSendMessageDto(sendMessage);
  52 + }
  53 +
  54 + @RequestMapping(value = "updateMessage",method = RequestMethod.GET)
  55 + int updateMessage(@RequestParam("id") long id, @RequestParam("result") String result, @RequestParam("correct") int correct){
  56 + return wgService.updateMessage(id,result,correct);
  57 + }
  58 +
  59 + @RequestMapping(value = "insertPassFail",method = RequestMethod.POST)
  60 + int insertPassFail(@RequestBody PassFailDto passFailDto){
  61 + return wgService.insertPassFail(new PassFail(passFailDto));
  62 + }
  63 +
  64 + @RequestMapping(value = "insertSendSuccess",method = RequestMethod.POST)
  65 + int insertSendSuccess(@RequestBody SendSuccessDto sendSuccessDto){
  66 + return wgService.insertSendSuccess(new SendSuccess(sendSuccessDto));
  67 + }
  68 +
  69 + @RequestMapping(value = "insertSendFail",method = RequestMethod.POST)
  70 + int insertSendFail(@RequestBody SendFailDto sendFailDto){
  71 + return wgService.insertSendFail(new SendFail(sendFailDto));
  72 + }
  73 +
  74 + @RequestMapping(value = "deleteSendFail",method = RequestMethod.POST)
  75 + int deleteSendFail(@RequestBody SendFailDto sendFailDto){
  76 + return wgService.deleteSendFail(new SendFail(sendFailDto));
  77 + }
  78 +
  79 + @RequestMapping(value = "updateSendSuccess",method = RequestMethod.POST)
  80 + int updateSendSuccess(@RequestBody SendSuccessDto sendSuccessDto){
  81 + return wgService.updateSendSuccess(new SendSuccess(sendSuccessDto));
  82 + }
  83 +
  84 + public SendMessageDto toSendMessageDto(SendMessage sendMessage){
  85 + SendMessageDto sendMessageDto = new SendMessageDto();
  86 + if(sendMessage != null){
  87 + sendMessageDto.setId(sendMessage.getId());
  88 + sendMessageDto.setDeviceId(sendMessage.getDeviceId());
  89 + sendMessageDto.setCardNo(sendMessage.getCardNo());
  90 + sendMessageDto.setIndex(sendMessage.getIndex());
  91 + sendMessageDto.setSend(sendMessage.getSend());
  92 + sendMessageDto.setResult(sendMessage.getResult());
  93 + sendMessageDto.setCorrect(sendMessage.getCorrect());
  94 + sendMessageDto.setCreateTime(sendMessage.getCreateTime());
  95 + sendMessageDto.setFunctionId(sendMessage.getFunctionId());
  96 + }
  97 + return sendMessageDto ;
  98 + }
  99 +}
... ...
cloud/xiaoan_search/src/main/java/com/sincere/xiaoanSearch/mapper/CheckMapper.java 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +package com.sincere.xiaoanSearch.mapper;
  2 +
  3 +import com.sincere.xiaoanSearch.model.CheckIn;
  4 +
  5 +/**
  6 + * @author chen
  7 + * @version 1.0
  8 + * @date 2019/10/14 0014 14:36
  9 + */
  10 +public interface CheckMapper {
  11 +
  12 + void checkIn(CheckIn checkIn);
  13 +
  14 +}
... ...