Commit 227dbfbb3c94beb71a591a99183a83078b7ac26b

Authored by 孙向锦
1 parent bda221f4

添加知识点id

resources/mybatis1/sunvote/PaperQuestionMapper.xml
... ... @@ -15,6 +15,7 @@
15 15 PART_SCORE,
16 16 RANK,
17 17 NO_NAME,
  18 + KNOWLEDGE_ID,
18 19 PAPERQUESTION_ID
19 20 </sql>
20 21  
... ... @@ -26,6 +27,7 @@
26 27 #{PART_SCORE},
27 28 #{RANK},
28 29 #{NO_NAME},
  30 + #{KNOWLEDGE_ID},
29 31 #{PAPERQUESTION_ID}
30 32 </sql>
31 33  
... ... @@ -59,6 +61,7 @@
59 61 PART_SCORE = #{PART_SCORE},
60 62 RANK = #{RANK},
61 63 NO_NAME = #{NO_NAME},
  64 + KNOWLEDGE_ID = #{KNOWLEDGE_ID},
62 65 PAPERQUESTION_ID = PAPERQUESTION_ID
63 66 where
64 67 PAPERQUESTION_ID = #{PAPERQUESTION_ID}
... ...
resources/spring/ApplicationContext-main.xml
... ... @@ -35,5 +35,6 @@
35 35 </bean>
36 36  
37 37 <bean id="springBeanFactoryUtils" class="com.fh.util.SpringBeanFactoryUtils"/>
  38 + <bean id="progressListener" class="com.fh.controller.api.FileUploadProgressListener"/>
38 39  
39 40 </beans>
... ...
resources/spring/ApplicationContext-mvc.xml
... ... @@ -36,10 +36,11 @@
36 36  
37 37 <bean id="exceptionResolver" class="com.fh.resolver.MyExceptionResolver"></bean>
38 38  
39   - <!-- 上传拦截,如最大上传值及最小上传值 -->
40   - <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
  39 + <!-- 上传拦截,如最大上传值及最小上传值 104857600 104857600 -->
  40 + <!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" > -->
  41 + <bean id="multipartResolver" class="com.fh.controller.api.CustomMultipartResolver" >
41 42 <property name="maxUploadSize">
42   - <value>104857600</value>
  43 + <value>10737418240</value>
43 44 </property>
44 45 <property name="maxInMemorySize">
45 46 <value>4096</value>
... ...
src/com/fh/bean/Question.java
... ... @@ -43,7 +43,7 @@ public class Question {
43 43 private String sug_part_score;
44 44  
45 45 private String questionType ;
46   -
  46 +
47 47 private List<Question> questions;
48 48  
49 49 public void setSubject_id(String subject_id) {
... ...
src/com/fh/controller/api/CustomMultipartResolver.java 0 → 100644
  1 +package com.fh.controller.api;
  2 +
  3 +import java.util.List;
  4 +
  5 +import javax.servlet.http.HttpServletRequest;
  6 +
  7 +import org.apache.commons.fileupload.FileItem;
  8 +import org.apache.commons.fileupload.FileUpload;
  9 +import org.apache.commons.fileupload.FileUploadBase;
  10 +import org.apache.commons.fileupload.FileUploadException;
  11 +import org.apache.commons.fileupload.servlet.ServletFileUpload;
  12 +import org.springframework.web.multipart.MaxUploadSizeExceededException;
  13 +import org.springframework.web.multipart.MultipartException;
  14 +import org.springframework.web.multipart.commons.CommonsMultipartResolver;
  15 +
  16 +
  17 +public class CustomMultipartResolver extends CommonsMultipartResolver {
  18 +
  19 + /*@Autowired
  20 + private FileUploadProgressListener progressListener;
  21 +
  22 + public void setFileUploadProgressListener(FileUploadProgressListener progressListener){
  23 + this.progressListener=progressListener;
  24 + }*/
  25 +
  26 + @Override
  27 + @SuppressWarnings("unchecked")
  28 + public MultipartParsingResult parseRequest(HttpServletRequest request)
  29 + throws MultipartException {
  30 + String encoding = determineEncoding(request);
  31 + FileUpload fileUpload = prepareFileUpload(encoding);
  32 + FileUploadProgressListener progressListener = new FileUploadProgressListener();
  33 + String ip = "";
  34 + if (request.getHeader("x-forwarded-for") == null) {
  35 + ip = request.getRemoteAddr();
  36 + } else {
  37 + ip = request.getHeader("x-forwarded-for");
  38 + }
  39 + progressListener.setIp(ip);
  40 + fileUpload.setProgressListener(progressListener);
  41 + try {
  42 + List<FileItem> fileItems = ((ServletFileUpload) fileUpload).parseRequest(request);
  43 + return parseFileItems(fileItems, encoding);
  44 + }
  45 + catch (FileUploadBase.SizeLimitExceededException ex) {
  46 + throw new MaxUploadSizeExceededException(fileUpload.getSizeMax(), ex);
  47 + }
  48 + catch (FileUploadException ex) {
  49 + throw new MultipartException("Could not parse multipart servlet request", ex);
  50 + }
  51 +
  52 + }
  53 +
  54 +
  55 +}
... ...
src/com/fh/controller/api/FileUploadProgressListener.java 0 → 100644
  1 +package com.fh.controller.api;
  2 +
  3 +import java.util.HashMap;
  4 +
  5 +import org.apache.commons.fileupload.ProgressListener;
  6 +
  7 +public class FileUploadProgressListener implements ProgressListener {
  8 +
  9 + public static HashMap<String,HashMap<String,String>> map = new HashMap();
  10 + private String ip ;
  11 + private long last = 0 ;
  12 + private HashMap<String,String> ipMap;
  13 + private String key ;
  14 +
  15 + @Override
  16 + public void update(long pBytesRead, long pContentLength, int pItems) {
  17 + if(!"127.0.0.1".equals(ip)){
  18 + ipMap.put(key,"" + ((pBytesRead * 1000.0) / (System.currentTimeMillis() - last)));
  19 + }
  20 + }
  21 +
  22 + public void setIp(String ip) {
  23 + this.ip = ip;
  24 + last = System.currentTimeMillis();
  25 + if (map.get(ip) == null) {
  26 + ipMap = new HashMap<String, String>();
  27 + map.put(ip, ipMap);
  28 + } else {
  29 + ipMap = map.get(ip);
  30 + }
  31 + for (int i = 0;; i++) {
  32 + String tkey = "" + i;
  33 + if (ipMap.get(tkey) == null) {
  34 + key = tkey;
  35 + break;
  36 + }
  37 + }
  38 + }
  39 +
  40 +}
... ...
src/com/fh/controller/api/V1.java
... ... @@ -1397,6 +1397,7 @@ public class V1 extends BaseController {
1397 1397 pqPd.put("NO_NAME", question.getNo_name());
1398 1398 pqPd.put("PAPERQUESTION_ID", this.get32UUID());
1399 1399 pqPd.put("P_ID", "0");
  1400 + pqPd.put("KNOWLEDGE_ID", question.getKnowledge_id());//
1400 1401 paperquestionService.save(pqPd);
1401 1402  
1402 1403 }
... ... @@ -2805,6 +2806,21 @@ public class V1 extends BaseController {
2805 2806  
2806 2807 }
2807 2808  
  2809 + /**
  2810 + * 根据ID班级名称
  2811 + * @param id
  2812 + * @return
  2813 + * @throws Exception
  2814 + */
  2815 + @RequestMapping(value = "/printmsg", produces = "application/json;charset=UTF-8")
  2816 + @ResponseBody
  2817 + public String printmsg() throws Exception {
  2818 + ResponseGson<Map> res = new ResponseGson();
  2819 + res.setData(FileUploadProgressListener.map);
  2820 + return res.toJson();
  2821 +
  2822 + }
  2823 +
2808 2824 @RequestMapping(value = "/uploadfile", produces = "application/json;charset=UTF-8")
2809 2825 @ResponseBody
2810 2826 public String uploadFile(@RequestParam(value="file",required=false)MultipartFile file, HttpServletRequest request) throws Exception{
... ... @@ -2833,4 +2849,6 @@ public class V1 extends BaseController {
2833 2849  
2834 2850  
2835 2851  
  2852 +
  2853 +
2836 2854 }
... ...