Commit 3690b06b624d63bf2f84797032b924b26276773a

Authored by 陶汉栋
2 parents e92e5a92 88152d7c
Exists in master

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
#	cloud/quartz/src/main/java/com/sincere/quartz/mapper/YxyMapper.java
#	cloud/quartz/src/main/java/com/sincere/quartz/service/YxyService.java
#	cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
#	cloud/quartz/src/main/resources/mapper/YxyMapper.xml
cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
@@ -20,8 +20,8 @@ public class SyncJob { @@ -20,8 +20,8 @@ public class SyncJob {
20 @Autowired 20 @Autowired
21 YXYReadService yxyReadService; 21 YXYReadService yxyReadService;
22 22
23 - @Scheduled(cron = "30 10 22 * * ? ")  
24 - public void Sync() { 23 + @Scheduled(cron = "30 1 22 * * ? ")
  24 + public void Sync(){
25 //翼校通的同步 之后还有钉钉的同步等等 25 //翼校通的同步 之后还有钉钉的同步等等
26 yxyReadService.sync(); 26 yxyReadService.sync();
27 yxyWriteService.sync(); 27 yxyWriteService.sync();
cloud/quartz/src/main/java/com/sincere/quartz/mapper/YxyMapper.java
@@ -6,15 +6,19 @@ import com.sincere.quartz.model.YxyTeacher; @@ -6,15 +6,19 @@ import com.sincere.quartz.model.YxyTeacher;
6 6
7 public interface YxyMapper { 7 public interface YxyMapper {
8 8
9 - int updateAgency(); 9 + int selectCount(String date);
10 10
11 - int updateTeacher(); 11 + int deleteWeekBefore();
12 12
13 - int updateStudent(); 13 + int updateAgency() ;
14 14
15 - int insertAgency(YxyAgency agency); 15 + int updateTeacher() ;
16 16
17 - int insertTeacher(YxyTeacher teacher); 17 + int updateStudent() ;
18 18
19 - int insertStudent(YxyStudent student); 19 + int insertAgency(YxyAgency agency) ;
  20 +
  21 + int insertTeacher(YxyTeacher teacher) ;
  22 +
  23 + int insertStudent(YxyStudent student) ;
20 } 24 }
cloud/quartz/src/main/java/com/sincere/quartz/service/YxyService.java
@@ -6,15 +6,19 @@ import com.sincere.quartz.model.YxyTeacher; @@ -6,15 +6,19 @@ import com.sincere.quartz.model.YxyTeacher;
6 6
7 public interface YxyService { 7 public interface YxyService {
8 8
9 - int updateAgency(); 9 + int selectCount(String date);
10 10
11 - int updateTeacher(); 11 + int deleteWeekBefore();
12 12
13 - int updateStudent(); 13 + int updateAgency() ;
14 14
15 - int insertAgency(YxyAgency agency); 15 + int updateTeacher() ;
16 16
17 - int insertTeacher(YxyTeacher teacher); 17 + int updateStudent() ;
18 18
19 - int insertStudent(YxyStudent student); 19 + int insertAgency(YxyAgency agency) ;
  20 +
  21 + int insertTeacher(YxyTeacher teacher) ;
  22 +
  23 + int insertStudent(YxyStudent student) ;
20 } 24 }
cloud/quartz/src/main/java/com/sincere/quartz/service/impl/YxyServiceImpl.java
@@ -18,6 +18,18 @@ public class YxyServiceImpl implements YxyService { @@ -18,6 +18,18 @@ public class YxyServiceImpl implements YxyService {
18 18
19 @Override 19 @Override
20 @MyDataSource(DataSourceType.Yxy) 20 @MyDataSource(DataSourceType.Yxy)
  21 + public int selectCount(String date) {
  22 + return yxyMapper.selectCount(date);
  23 + }
  24 +
  25 + @Override
  26 + @MyDataSource(DataSourceType.Yxy)
  27 + public int deleteWeekBefore() {
  28 + return yxyMapper.deleteWeekBefore();
  29 + }
  30 +
  31 + @Override
  32 + @MyDataSource(DataSourceType.Yxy)
21 public int updateAgency() { 33 public int updateAgency() {
22 return yxyMapper.updateAgency(); 34 return yxyMapper.updateAgency();
23 } 35 }
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
@@ -27,75 +27,72 @@ import java.util.concurrent.TimeUnit; @@ -27,75 +27,72 @@ import java.util.concurrent.TimeUnit;
27 @Service 27 @Service
28 public class YXYReadService { 28 public class YXYReadService {
29 29
30 - private static String SI = "SZ";  
31 - private static int SI_CODE = 12345678; 30 + private static String SI = "SZ" ;
  31 + private static int SI_CODE = 12345678 ;
32 32
33 - private static String nameSpace = "http://service.pubinfo.com.cn"; 33 + private static String nameSpace = "http://service.pubinfo.com.cn" ;
34 private static String getAllTeacher = "http://122.229.30.149:8282/DataSynService/GetTeacherInfo"; 34 private static String getAllTeacher = "http://122.229.30.149:8282/DataSynService/GetTeacherInfo";
35 - private static String getAllTeacher_method = "getTeacherInfo";  
36 - private static String getAddTeacher = "http://122.229.30.149:8282/DataSynService/GetIncrementTeacherInfo";  
37 - private static String getAddTeacher_method = "getIncrementTeacherInfo"; 35 + private static String getAllTeacher_method = "getTeacherInfo" ;
  36 + private static String getAddTeacher = "http://122.229.30.149:8282/DataSynService/GetIncrementTeacherInfo" ;
  37 + private static String getAddTeacher_method = "getIncrementTeacherInfo" ;
38 38
39 - private static String getAllStudent = "http://122.229.30.149:8282/DataSynService/GetStudentInfo"; 39 + private static String getAllStudent = "http://122.229.30.149:8282/DataSynService/GetStudentInfo" ;
40 private static String getALlStudent_method = "getStudentInfo"; 40 private static String getALlStudent_method = "getStudentInfo";
41 - private static String getAddStudent = "http://122.229.30.149:8282/DataSynService/GetIncrementStudentInfo";  
42 - private static String getAddStudent_method = "getIncrementStudentInfo";  
43 - private static String getAllDept = "http://122.229.30.149:8282/DataSynService/GetDeptInfo"; 41 + private static String getAddStudent = "http://122.229.30.149:8282/DataSynService/GetIncrementStudentInfo" ;
  42 + private static String getAddStudent_method = "getIncrementStudentInfo" ;
  43 + private static String getAllDept = "http://122.229.30.149:8282/DataSynService/GetDeptInfo" ;
44 private static String getALlDept_method = "getDeptInfo"; 44 private static String getALlDept_method = "getDeptInfo";
45 45
46 @Autowired 46 @Autowired
47 - YxyService yxyService; 47 + YxyService yxyService ;
48 48
49 private Logger logger = LoggerFactory.getLogger(YXYReadService.class); 49 private Logger logger = LoggerFactory.getLogger(YXYReadService.class);
50 50
51 - public void sync() { 51 + public void sync(){
52 ExecutorService pool = ThreadUtils.newFixedThreadPool(8); 52 ExecutorService pool = ThreadUtils.newFixedThreadPool(8);
53 - yxyService.updateAgency();  
54 - yxyService.updateStudent();  
55 - yxyService.updateTeacher();  
56 List<String> areaCodeList = new ArrayList<>(); 53 List<String> areaCodeList = new ArrayList<>();
57 - areaCodeList.add("0571");  
58 - areaCodeList.add("0572");  
59 - areaCodeList.add("0573");  
60 - areaCodeList.add("0574");  
61 - areaCodeList.add("0575");  
62 - areaCodeList.add("0576");  
63 - areaCodeList.add("0577");  
64 - areaCodeList.add("0578");  
65 - areaCodeList.add("0579"); 54 + areaCodeList.add("0571") ;
  55 + areaCodeList.add("0572") ;
  56 + areaCodeList.add("0573") ;
  57 + areaCodeList.add("0574") ;
  58 + areaCodeList.add("0575") ;
  59 + areaCodeList.add("0576") ;
  60 + areaCodeList.add("0577") ;
  61 + areaCodeList.add("0578") ;
  62 + areaCodeList.add("0579") ;
66 List<String> schoolList = new ArrayList<>(); 63 List<String> schoolList = new ArrayList<>();
67 - for (String areaCode : areaCodeList) {  
68 - try { 64 + for(String areaCode : areaCodeList){
  65 + try{
69 // 先获取学校,部门,年级 班级 66 // 先获取学校,部门,年级 班级
70 // 再根据学校 获取老师 学生 67 // 再根据学校 获取老师 学生
71 List list = new ArrayList(); 68 List list = new ArrayList();
72 list.add(SI); 69 list.add(SI);
73 list.add(getPassword(SI_CODE)); 70 list.add(getPassword(SI_CODE));
74 list.add(areaCode); 71 list.add(areaCode);
75 - String wsdl = getAllDept; 72 + String wsdl =getAllDept ;
76 String ns = nameSpace; 73 String ns = nameSpace;
77 String method = getALlDept_method; 74 String method = getALlDept_method;
78 JSONArray jsonArray = getMessage(wsdl, ns, method, list); 75 JSONArray jsonArray = getMessage(wsdl, ns, method, list);
79 - if (jsonArray != null) { 76 + if(jsonArray != null){
80 logger.info("市编码:" + areaCode); 77 logger.info("市编码:" + areaCode);
81 - for (int i = 0; i < jsonArray.size(); i++) {  
82 - JSONObject object = (JSONObject) jsonArray.get(i);  
83 - YxyAgency agency = new YxyAgency(); 78 + for(int i = 0 ; i < jsonArray.size() ; i++){
  79 + JSONObject object = (JSONObject) jsonArray.get(i) ;
  80 + YxyAgency agency = new YxyAgency() ;
84 agency.setDeptId(object.get("deptID").toString()); 81 agency.setDeptId(object.get("deptID").toString());
85 agency.setDeptName(object.get("deptName").toString()); 82 agency.setDeptName(object.get("deptName").toString());
86 agency.setSuperDeptId(object.get("superDeptID").toString()); 83 agency.setSuperDeptId(object.get("superDeptID").toString());
87 - if (areaCode.equals(object.get("superDeptID").toString())) {  
88 - logger.info("学校:" + object.get("deptName").toString() + ";编码" + object.get("deptID").toString());  
89 - schoolList.add(object.get("deptID").toString()); 84 + if(areaCode.equals(object.get("superDeptID").toString())){
  85 + logger.info("学校:" + object.get("deptName").toString() +";编码"+object.get("deptID").toString());
  86 + schoolList.add(object.get("deptID").toString()) ;
90 } 87 }
91 yxyService.insertAgency(agency); 88 yxyService.insertAgency(agency);
92 } 89 }
93 } 90 }
94 - } catch (Exception e) { 91 + }catch (Exception e){
95 e.printStackTrace(); 92 e.printStackTrace();
96 } 93 }
97 } 94 }
98 - for (String schoolId : schoolList) { 95 + for(String schoolId : schoolList){
99 pool.execute(initSchool(schoolId)); 96 pool.execute(initSchool(schoolId));
100 } 97 }
101 pool.shutdown(); 98 pool.shutdown();
@@ -103,97 +100,108 @@ public class YXYReadService { @@ -103,97 +100,108 @@ public class YXYReadService {
103 // 等待所有子线程结束,才退出主线程 100 // 等待所有子线程结束,才退出主线程
104 } 101 }
105 logger.info("------------------当天更新完成"); 102 logger.info("------------------当天更新完成");
  103 + try{
  104 + String today = DateUtils.getToday(DateUtils.format1)+" 22:00:00" ;
  105 + if(yxyService.selectCount(today) > 400000){
  106 + yxyService.deleteWeekBefore();
  107 + yxyService.updateAgency();
  108 + yxyService.updateStudent();
  109 + yxyService.updateTeacher();
  110 + }
  111 + }catch (Exception e){
  112 +
  113 + }
106 } 114 }
107 115
108 116
109 - private Runnable initSchool(String schoolId) { 117 + private Runnable initSchool(String schoolId){
110 Runnable runnable = () -> { 118 Runnable runnable = () -> {
111 syncStudent(schoolId); 119 syncStudent(schoolId);
112 syncTeacher(schoolId); 120 syncTeacher(schoolId);
113 }; 121 };
114 - return runnable; 122 + return runnable ;
115 } 123 }
116 124
117 125
118 - public void syncStudent(String schoolId) {  
119 - List list = new ArrayList();  
120 - list.add(SI);  
121 - list.add(getPassword(SI_CODE));  
122 - list.add(schoolId);  
123 - String wsdl = getAllStudent;  
124 - String ns = nameSpace;  
125 - String method = getALlStudent_method;  
126 - JSONArray jsonArray = getMessage(wsdl, ns, method, list);  
127 - try {  
128 - logger.info("学校ID为:" + schoolId + "共有学生" + jsonArray.size() + "人");  
129 - if (jsonArray != null) {  
130 - for (int i = 0; i < jsonArray.size(); i++) {  
131 - JSONObject object = (JSONObject) jsonArray.get(i); 126 + public void syncStudent(String schoolId){
  127 + try{
  128 + List list = new ArrayList();
  129 + list.add(SI);
  130 + list.add(getPassword(SI_CODE));
  131 + list.add(schoolId);
  132 + String wsdl =getAllStudent ;
  133 + String ns = nameSpace;
  134 + String method = getALlStudent_method;
  135 + JSONArray jsonArray = getMessage(wsdl, ns, method, list);
  136 + logger.info("学校ID为:"+schoolId + "共有学生" + jsonArray.size() +"人");
  137 + if(jsonArray != null){
  138 + for(int i = 0 ; i < jsonArray.size() ; i++){
  139 + JSONObject object = (JSONObject) jsonArray.get(i) ;
132 YxyStudent student = new YxyStudent(); 140 YxyStudent student = new YxyStudent();
133 - try { 141 + try{
134 student.setClassId(object.get("classID").toString()); 142 student.setClassId(object.get("classID").toString());
135 student.setAccount(object.get("account").toString()); 143 student.setAccount(object.get("account").toString());
136 student.setName(object.get("name").toString()); 144 student.setName(object.get("name").toString());
137 student.setUserId(object.get("userID").toString()); 145 student.setUserId(object.get("userID").toString());
138 - } catch (Exception e) { 146 + }catch (Exception e){
139 } 147 }
140 - try { 148 + try{
141 student.setCardID(object.get("cardID").toString()); 149 student.setCardID(object.get("cardID").toString());
142 - } catch (Exception e) { 150 + }catch (Exception e){
143 } 151 }
144 - try { 152 + try{
145 student.setCardID2(object.get("cardID2").toString()); 153 student.setCardID2(object.get("cardID2").toString());
146 - } catch (Exception e) { 154 + }catch (Exception e){
147 } 155 }
148 - try { 156 + try{
149 student.setCardID3(object.get("cardID3").toString()); 157 student.setCardID3(object.get("cardID3").toString());
150 - } catch (Exception e) { 158 + }catch (Exception e){
151 } 159 }
152 yxyService.insertStudent(student); 160 yxyService.insertStudent(student);
153 } 161 }
154 } 162 }
155 - } catch (Exception e) { 163 + }catch (Exception e){
156 logger.info(e.toString()); 164 logger.info(e.toString());
157 - logger.info("学校ID为:" + schoolId + "学生数据没返回"); 165 + logger.info("学校ID为:"+schoolId + "学生数据没返回");
158 } 166 }
159 167
160 } 168 }
161 169
162 - public void syncTeacher(String schoolId) {  
163 - List list = new ArrayList();  
164 - list.add(SI);  
165 - list.add(getPassword(SI_CODE));  
166 - list.add(schoolId);  
167 - String wsdl = getAllTeacher;  
168 - String ns = nameSpace;  
169 - String method = getAllTeacher_method;  
170 - JSONArray jsonArray = getMessage(wsdl, ns, method, list);  
171 - try {  
172 - logger.info("学校ID为:" + schoolId + "共有老师" + jsonArray.size() + "人");  
173 - if (jsonArray != null) {  
174 - for (int i = 0; i < jsonArray.size(); i++) {  
175 - JSONObject object = (JSONObject) jsonArray.get(i); 170 + public void syncTeacher(String schoolId){
  171 + try{
  172 + List list = new ArrayList();
  173 + list.add(SI);
  174 + list.add(getPassword(SI_CODE));
  175 + list.add(schoolId);
  176 + String wsdl =getAllTeacher ;
  177 + String ns = nameSpace;
  178 + String method = getAllTeacher_method;
  179 + JSONArray jsonArray = getMessage(wsdl, ns, method, list);
  180 + logger.info("学校ID为:"+schoolId + "共有老师" + jsonArray.size() +"人");
  181 + if(jsonArray != null){
  182 + for(int i = 0 ; i < jsonArray.size() ; i++){
  183 + JSONObject object = (JSONObject) jsonArray.get(i) ;
176 YxyTeacher teacher = new YxyTeacher(); 184 YxyTeacher teacher = new YxyTeacher();
177 try { 185 try {
178 teacher.setDeptId(object.get("classID").toString()); 186 teacher.setDeptId(object.get("classID").toString());
179 teacher.setAccount(object.get("account").toString()); 187 teacher.setAccount(object.get("account").toString());
180 teacher.setName(object.get("name").toString()); 188 teacher.setName(object.get("name").toString());
181 teacher.setUserId(object.get("userID").toString()); 189 teacher.setUserId(object.get("userID").toString());
182 - } catch (Exception e) { 190 + }catch (Exception e){
183 } 191 }
184 yxyService.insertTeacher(teacher); 192 yxyService.insertTeacher(teacher);
185 } 193 }
186 } 194 }
187 - } catch (Exception e) { 195 + }catch (Exception e){
188 logger.info(e.toString()); 196 logger.info(e.toString());
189 - logger.info("学校ID为:" + schoolId + "老师数据没返回"); 197 + logger.info("学校ID为:"+schoolId + "老师数据没返回");
190 } 198 }
191 199
192 } 200 }
193 201
194 - private JSONArray getMessage(String wsdl, String ns, String method, List<String> list) {  
195 - String resultXml = HttpClientUtils.invoiceWebService(wsdl, ns, method, list); 202 + private JSONArray getMessage(String wsdl, String ns, String method, List<String> list){
196 try { 203 try {
  204 + String resultXml = HttpClientUtils.invoiceWebService(wsdl,ns,method,list);
197 if (StringUtils.isNotBlank(resultXml)) { 205 if (StringUtils.isNotBlank(resultXml)) {
198 resultXml = resultXml.replaceAll("&lt;", "<"); 206 resultXml = resultXml.replaceAll("&lt;", "<");
199 resultXml = resultXml.replaceAll("&gt;", ">"); 207 resultXml = resultXml.replaceAll("&gt;", ">");
@@ -205,17 +213,17 @@ public class YXYReadService { @@ -205,17 +213,17 @@ public class YXYReadService {
205 return (JSONArray) json.get("resultInfo"); 213 return (JSONArray) json.get("resultInfo");
206 } 214 }
207 } 215 }
208 - } catch (Exception e) {  
209 - logger.info("获取信息报错" + e.getMessage()); 216 + }catch (Exception e){
  217 + logger.info("获取信息报错"+e.getMessage());
210 } 218 }
211 - return null; 219 + return null ;
212 } 220 }
213 221
214 - private String getPassword(int si) {  
215 - int date = Integer.valueOf(DateUtils.date2String(new Date(), DateUtils.format5));  
216 - String pwd = String.valueOf(si & date);  
217 - while (pwd.length() < 6) {  
218 - pwd = "0" + pwd; 222 + private String getPassword(int si){
  223 + int date = Integer.valueOf(DateUtils.date2String(new Date(),DateUtils.format5));
  224 + String pwd = String.valueOf(si&date) ;
  225 + while (pwd.length() < 6){
  226 + pwd = "0" + pwd ;
219 } 227 }
220 pwd = pwd.substring(pwd.length() - 6); 228 pwd = pwd.substring(pwd.length() - 6);
221 return EncodeByMD5(pwd); 229 return EncodeByMD5(pwd);
@@ -237,9 +245,9 @@ public class YXYReadService { @@ -237,9 +245,9 @@ public class YXYReadService {
237 } 245 }
238 } 246 }
239 247
240 - private String fillMD5(String md5) { 248 + private String fillMD5(String md5){
241 //如果不够32位则回调自身补零,最后返回32位长度的签名 249 //如果不够32位则回调自身补零,最后返回32位长度的签名
242 - return md5.length() == 32 ? md5 : fillMD5("0" + md5); 250 + return md5.length()==32?md5:fillMD5("0"+md5);
243 } 251 }
244 252
245 } 253 }
246 \ No newline at end of file 254 \ No newline at end of file
cloud/quartz/src/main/resources/mapper/YxyMapper.xml
@@ -2,32 +2,41 @@ @@ -2,32 +2,41 @@
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
3 <mapper namespace="com.sincere.quartz.mapper.YxyMapper"> 3 <mapper namespace="com.sincere.quartz.mapper.YxyMapper">
4 4
5 - <update id="updateAgency">  
6 - update Agency set state = 0 where state = 1 5 +
  6 + <delete id="deleteWeekBefore" >
  7 + delete Agency where DATEDIFF(d,intime,GETDATE())>7;
  8 + delete Teacher where DATEDIFF(d,intime,GETDATE())>7;
  9 + delete Student where DATEDIFF(d,intime,GETDATE())>7;
  10 + </delete>
  11 +
  12 + <update id="updateAgency" >
  13 + update Agency set state = 0 where DATEDIFF(n , intime, getdate()) > 240
7 </update> 14 </update>
8 15
9 <update id="updateTeacher"> 16 <update id="updateTeacher">
10 - update Teacher set state = 0 where state = 1 17 + update Teacher set state = 0 where DATEDIFF(n , intime, getdate()) > 240
11 </update> 18 </update>
12 19
13 <update id="updateStudent"> 20 <update id="updateStudent">
14 - update Student set state = 0 where state = 1 21 + update Student set state = 0 where DATEDIFF(n , intime, getdate()) > 240
15 </update> 22 </update>
16 23
  24 + <select id="selectCount" parameterType="java.lang.String" resultType="java.lang.Integer">
  25 + select count(0) from Student where intime > #{date}
  26 + </select>
17 27
18 - <insert id="insertAgency" parameterType="com.sincere.quartz.model.YxyAgency"> 28 + <insert id="insertAgency" parameterType="com.sincere.quartz.model.YxyAgency" >
19 insert into Agency(deptID , deptName , superDeptID , intime , state) 29 insert into Agency(deptID , deptName , superDeptID , intime , state)
20 - values (#{deptId} , #{deptName} , #{superDeptId} , GETDATE() , 1) 30 + values (#{deptId} , #{deptName} , #{superDeptId} , GETDATE() , 1)
21 </insert> 31 </insert>
22 32
23 - <insert id="insertTeacher" parameterType="com.sincere.quartz.model.YxyTeacher"> 33 + <insert id="insertTeacher" parameterType="com.sincere.quartz.model.YxyTeacher" >
24 insert into Teacher(userID , account , name , deptID , intime , state) 34 insert into Teacher(userID , account , name , deptID , intime , state)
25 - values (#{userId} , #{account} , #{name} , #{deptId} , GETDATE() , 1) 35 + values (#{userId} , #{account} , #{name} , #{deptId} , GETDATE() , 1)
26 </insert> 36 </insert>
27 37
28 - <insert id="insertStudent" parameterType="com.sincere.quartz.model.YxyStudent">  
29 - insert into Student(userID , account , name , classID , intime , state , isCard , isEquipment ,  
30 - card_crafts,cardID,cardid2,cardid3)  
31 - values (#{userId} , #{account} , #{name} , #{classId} , GETDATE() , 1 ,0,0,2,#{cardID},#{cardID2},#{cardID3}) 38 + <insert id="insertStudent" parameterType="com.sincere.quartz.model.YxyStudent" >
  39 + insert into Student(userID , account , name , classID , intime , state , isCard , isEquipment , card_crafts,cardID,cardid2,cardid3)
  40 + values (#{userId} , #{account} , #{name} , #{classId} , GETDATE() , 1 ,0,0,2,#{cardID},#{cardID2},#{cardID3})
32 </insert> 41 </insert>
33 </mapper> 42 </mapper>
cloud/search_xiaoan/src/main/resources/mapper/FingerMapper.xml
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 </insert> 9 </insert>
10 10
11 <select id="selectFinger" parameterType="java.lang.Integer" resultType="java.lang.String"> 11 <select id="selectFinger" parameterType="java.lang.Integer" resultType="java.lang.String">
12 - select order_msg from zk_finger where student_id = #{studentId} 12 + select top 1 order_msg from zk_finger where student_id = #{studentId}
13 </select> 13 </select>
14 14
15 </mapper> 15 </mapper>
16 \ No newline at end of file 16 \ No newline at end of file