Browse Source

加了根据job和user选item的接口

MengyangDuan 5 years ago
parent
commit
9a1f328973

+ 16 - 0
src/main/java/edu/nju/controller/ItemController.java

@@ -71,6 +71,22 @@ public class ItemController {
         }
     }
 
+    @RequestMapping(value = "/getItemsByWorker")
+    @ResponseBody
+    public void getItemListByWorkerJob(String job_id, String worker_id, HttpServletResponse response){
+        try {
+            PrintWriter out = response.getWriter();
+            List<Item> items = iservice.getItemsByWorkerJob(worker_id, job_id);
+            out.print(new JSONArray(items));
+            out.flush();
+            out.close();
+        }catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+    }
+
     
 
 }

+ 8 - 1
src/main/java/edu/nju/dao/ItemDao.java

@@ -1,7 +1,6 @@
 package edu.nju.dao;
 
 import edu.nju.entities.Item;
-import edu.nju.entities.Job;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -29,6 +28,14 @@ public class ItemDao {
         return mongoOperations.find(query, Item.class);
     }
 
+    public Item getItem(String id){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("_id").is(id));
+        List<Item> list = mongoOperations.find(query, Item.class);
+        if(list.size() == 0 || list == null) {return null;}
+        return list.get(0);
+    }
+
 
 
 

+ 27 - 0
src/main/java/edu/nju/dao/UserToItemDao.java

@@ -0,0 +1,27 @@
+package edu.nju.dao;
+
+import edu.nju.entities.Answer;
+import edu.nju.entities.UserToItem;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Repository
+public class UserToItemDao {
+
+    @Autowired
+    private MongoOperations mongoOperations;
+
+    public List<String>getItemsByUserJob(String worker_id,String job_id){
+        Query query = new Query();
+        query.addCriteria(Criteria.where("worker_id").is(worker_id).and("job_id").is(job_id));
+        List<UserToItem>list = mongoOperations.find(query, UserToItem.class);
+        if(list.size() == 0 || list == null) {return null;}
+        return list.get(0).getItem_id();
+    }
+}

+ 7 - 7
src/main/java/edu/nju/entities/Job.java

@@ -11,7 +11,7 @@ public class Job implements java.io.Serializable{
     @Id
     private String id;
 
-    private String desciption;
+    private String description;
 
     private String name;
 
@@ -29,9 +29,9 @@ public class Job implements java.io.Serializable{
 
     private String log_location;
 
-    public Job(String id, String desciption, String name, String create_time_millis, String device_model, String device_brand, String device_os, String script_location, String report_location, String log_location) {
+    public Job(String id, String description, String name, String create_time_millis, String device_model, String device_brand, String device_os, String script_location, String report_location, String log_location) {
         this.id = id;
-        this.desciption = desciption;
+        this.description = description;
         this.name = name;
         this.create_time_millis = create_time_millis;
         this.device_model = device_model;
@@ -50,12 +50,12 @@ public class Job implements java.io.Serializable{
         this.id = id;
     }
 
-    public String getDesciption() {
-        return desciption;
+    public String getDescription() {
+        return description;
     }
 
-    public void setDesciption(String desciption) {
-        this.desciption = desciption;
+    public void setDescription(String desciption) {
+        this.description = desciption;
     }
 
     public String getName() {

+ 60 - 0
src/main/java/edu/nju/entities/UserToItem.java

@@ -0,0 +1,60 @@
+package edu.nju.entities;
+
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.List;
+
+@Document
+public class UserToItem implements java.io.Serializable{
+
+    private static final long serialVersionUID = -5082515228801224799L;
+
+    @Id
+    private String id;
+
+    private String worker_id;
+
+    private List<String> item_id;
+
+    private String job_id;
+
+    public UserToItem(String id, String worker_id, List<String> item_id, String job_id) {
+        this.id = id;
+        this.item_id = item_id;
+        this.worker_id = worker_id;
+        this.job_id = job_id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public List<String> getItem_id() {
+        return item_id;
+    }
+
+    public void setItem_id(List<String> item_id) {
+        this.item_id = item_id;
+    }
+
+    public String getWorker_id() {
+        return worker_id;
+    }
+
+    public void setWorker_id(String worker_id) {
+        this.worker_id = worker_id;
+    }
+
+    public String getJob_id() {
+        return job_id;
+    }
+
+    public void setJob_id(String job_id) {
+        this.job_id = job_id;
+    }
+}

+ 17 - 0
src/main/java/edu/nju/service/ItemService.java

@@ -3,12 +3,14 @@ package edu.nju.service;
 import edu.nju.dao.AnswerDao;
 import edu.nju.dao.ItemDao;
 import edu.nju.dao.JobDao;
+import edu.nju.dao.UserToItemDao;
 import edu.nju.entities.Answer;
 import edu.nju.entities.Item;
 import edu.nju.entities.Job;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -19,6 +21,8 @@ public class ItemService {
     JobDao jobDao;
     @Autowired
     AnswerDao answerDao;
+    @Autowired
+    UserToItemDao userToItemDao;
 
     public List<Item>getJobItems(String job_id){
         return itemDao.findItemsByJob(job_id);
@@ -36,4 +40,17 @@ public class ItemService {
         return answerDao.save(answer);
     }
 
+    public List<Item>getItemsByWorkerJob(String worker_id,String job_id){
+        List<String>itemIds = userToItemDao.getItemsByUserJob(worker_id, job_id);
+        List<Item>items=new ArrayList<>();
+        if(itemIds==null||itemIds.size()==0){
+            return null;
+        }else{
+            for(int i=0;i<itemIds.size();i++){
+                items.add(itemDao.getItem(itemIds.get(i)));
+            }
+        }
+        return items;
+    }
+
 }