瀏覽代碼

测试表增删改查,超人学院基础信息查询、常规课列表、实践课列表、体验课列表、常规课详情简介、常规课详情接口开发

huan.wang@yueguanjia.com 5 年之前
父節點
當前提交
20165292e3
共有 37 個文件被更改,包括 1709 次插入136 次删除
  1. 29 0
      src/main/java/com/ygj/yuemum/controller/college/CollegeCurriculumCoreController.java
  2. 10 0
      src/main/java/com/ygj/yuemum/controller/college/CollegeCurriculumExperienceController.java
  3. 11 0
      src/main/java/com/ygj/yuemum/controller/college/CollegeCurriculumPracticeController.java
  4. 43 0
      src/main/java/com/ygj/yuemum/controller/college/CollegeTestController.java
  5. 46 0
      src/main/java/com/ygj/yuemum/controller/college/CollegeTestDetailController.java
  6. 45 0
      src/main/java/com/ygj/yuemum/controller/college/CollegeTestResultController.java
  7. 1 3
      src/main/java/com/ygj/yuemum/controller/college/CollegeUserPointsController.java
  8. 9 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumCoreDao.java
  9. 4 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumExperienceDao.java
  10. 3 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumPracticeDao.java
  11. 20 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeTestDao.java
  12. 20 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeTestDetailDao.java
  13. 20 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeTestResultDao.java
  14. 31 3
      src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumCore.java
  15. 24 6
      src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumExperience.java
  16. 19 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumPractice.java
  17. 41 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumQuery.java
  18. 9 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeLearningDetail.java
  19. 58 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeTest.java
  20. 49 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeTestDetail.java
  21. 58 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeTestResult.java
  22. 157 0
      src/main/java/com/ygj/yuemum/domain/college/ReturnUserLearningCoreDetail.java
  23. 156 0
      src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumCoreService.java
  24. 74 0
      src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumExperienceService.java
  25. 74 0
      src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumPracticeService.java
  26. 40 0
      src/main/java/com/ygj/yuemum/service/college/CollegeTestDetailService.java
  27. 38 0
      src/main/java/com/ygj/yuemum/service/college/CollegeTestResultService.java
  28. 38 0
      src/main/java/com/ygj/yuemum/service/college/CollegeTestService.java
  29. 26 25
      src/main/java/com/ygj/yuemum/service/college/CollegeUserPointsService.java
  30. 6 2
      src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java
  31. 194 92
      src/main/resources/mybatis/mapper/college/CollegeCurriculumCoreMapper.xml
  32. 34 1
      src/main/resources/mybatis/mapper/college/CollegeCurriculumExperienceMapper.xml
  33. 34 1
      src/main/resources/mybatis/mapper/college/CollegeCurriculumPracticeMapper.xml
  34. 13 3
      src/main/resources/mybatis/mapper/college/CollegeLearningDetailMapper.xml
  35. 85 0
      src/main/resources/mybatis/mapper/college/CollegeTestDetailMapper.xml
  36. 95 0
      src/main/resources/mybatis/mapper/college/CollegeTestMapper.xml
  37. 95 0
      src/main/resources/mybatis/mapper/college/CollegeTestResultMapper.xml

+ 29 - 0
src/main/java/com/ygj/yuemum/controller/college/CollegeCurriculumCoreController.java

@@ -1,11 +1,15 @@
 package com.ygj.yuemum.controller.college;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.ygj.yuemum.domain.college.CollegeCurriculumCore;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
 import com.ygj.yuemum.service.college.CollegeCurriculumCoreService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.LinkedHashMap;
 import java.util.List;
 
 @RestController
@@ -39,5 +43,30 @@ public class CollegeCurriculumCoreController {
         return collegeCurriculumCoreService.updateCollegeCurriculumCore(collegeCurriculumCore);
     }
 
+    @PostMapping("/college/queryUserLearningCore")
+    public String queryUserLearningCore(@RequestParam("openid") String openid) {
+        LinkedHashMap<String, Object> orderTemps = collegeCurriculumCoreService.queryUserLearningCore(openid);
+        String jso = JSONObject.toJSONString(orderTemps, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
+        return jso;
+    }
+
+
+    @PostMapping("/college/queryCoreDetail")
+    public String queryCoreDetail(@RequestParam("openid") String openid,@RequestParam("id") Integer id) {
+        LinkedHashMap<String, Object> orderTemps = collegeCurriculumCoreService.queryCoreDetail(openid,id);
+        String jso = JSONObject.toJSONString(orderTemps, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
+        return jso;
+    }
+
+
+    @PostMapping("/college/queryUserLearningCoreDetail")
+    public String queryUserLearningCoreDetail(@RequestParam("openid") String openid,@RequestParam("id") Integer id) {
+        CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery();
+        collegeCurriculumQuery.setId(id);
+        collegeCurriculumQuery.setOpenid(openid);
+        LinkedHashMap<String, Object> orderTemps = collegeCurriculumCoreService.queryUserLearningCoreDetail(collegeCurriculumQuery);
+        String jso = JSONObject.toJSONString(orderTemps, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
+        return jso;
+    }
 
 }

+ 10 - 0
src/main/java/com/ygj/yuemum/controller/college/CollegeCurriculumExperienceController.java

@@ -1,6 +1,8 @@
 package com.ygj.yuemum.controller.college;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.ygj.yuemum.domain.college.CollegeCurriculumCore;
 import com.ygj.yuemum.domain.college.CollegeCurriculumExperience;
 import com.ygj.yuemum.service.college.CollegeCurriculumCoreService;
@@ -8,6 +10,7 @@ import com.ygj.yuemum.service.college.CollegeCurriculumExperienceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.LinkedHashMap;
 import java.util.List;
 
 @RestController
@@ -41,5 +44,12 @@ public class CollegeCurriculumExperienceController {
         return collegeCurriculumExperienceService.updateCollegeCurriculumExperience(collegeCurriculumExperience);
     }
 
+    @PostMapping("/college/queryUserLearningExperience")
+    public String queryUserLearningExperience(@RequestParam("openid") String openid) {
+        LinkedHashMap<String, Object> orderTemps = collegeCurriculumExperienceService.queryUserLearningExperience(openid);
+        String jso = JSONObject.toJSONString(orderTemps, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
+        return jso;
+    }
+
 
 }

+ 11 - 0
src/main/java/com/ygj/yuemum/controller/college/CollegeCurriculumPracticeController.java

@@ -1,11 +1,14 @@
 package com.ygj.yuemum.controller.college;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.ygj.yuemum.domain.college.CollegeCurriculumPractice;
 import com.ygj.yuemum.service.college.CollegeCurriculumPracticeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.LinkedHashMap;
 import java.util.List;
 
 @RestController
@@ -40,4 +43,12 @@ public class CollegeCurriculumPracticeController {
     }
 
 
+    @PostMapping("/college/queryUserLearningPractice")
+    public String queryUserLearningPractice(@RequestParam("openid") String openid) {
+        LinkedHashMap<String, Object> orderTemps = collegeCurriculumPracticeService.queryUserLearningPractice(openid);
+        String jso = JSONObject.toJSONString(orderTemps, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
+        return jso;
+    }
+
+
 }

+ 43 - 0
src/main/java/com/ygj/yuemum/controller/college/CollegeTestController.java

@@ -0,0 +1,43 @@
+package com.ygj.yuemum.controller.college;
+
+
+import com.ygj.yuemum.domain.college.CollegeTest;
+import com.ygj.yuemum.service.college.CollegeTestService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+public class CollegeTestController {
+
+    @Autowired
+    private CollegeTestService collegeTestService;
+
+    @GetMapping("/getCollegeTests")
+    public List<CollegeTest> getCollegeTests() {
+        return collegeTestService.getCollegeTests();
+    }
+
+    @GetMapping("/getCollegeTest")
+    public CollegeTest getCollegeTest(@RequestParam("id") Integer id) {
+        return collegeTestService.getCollegeTest(id);
+    }
+
+    @PostMapping("/addCollegeTest")
+    public int addCollegeTest(@ModelAttribute CollegeTest collegeTest) {
+        return collegeTestService.addCollegeTest(collegeTest);
+    }
+
+    @GetMapping("/deleteCollegeTest")
+    public int deleteCollegeTest(@RequestParam("id") Integer id) {
+        return collegeTestService.deleteCollegeTest(id);
+    }
+
+    @PostMapping("/updateCollegeTest")
+    public int updateCollegeTest(@ModelAttribute CollegeTest collegeTest) {
+        return collegeTestService.updateCollegeTest(collegeTest);
+    }
+
+
+}

+ 46 - 0
src/main/java/com/ygj/yuemum/controller/college/CollegeTestDetailController.java

@@ -0,0 +1,46 @@
+package com.ygj.yuemum.controller.college;
+
+
+import com.ygj.yuemum.domain.college.CollegeTest;
+import com.ygj.yuemum.domain.college.CollegeTestDetail;
+import com.ygj.yuemum.service.college.CollegeTestDetailService;
+import com.ygj.yuemum.service.college.CollegeTestResultService;
+import com.ygj.yuemum.service.college.CollegeTestService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+public class CollegeTestDetailController {
+
+    @Autowired
+    private CollegeTestDetailService collegeTestDetailService;
+
+    @GetMapping("/getCollegeTestDetails")
+    public List<CollegeTestDetail> getCollegeTestDetails() {
+        return collegeTestDetailService.getCollegeTestDetails();
+    }
+
+    @GetMapping("/getCollegeTestDetail")
+    public CollegeTestDetail getCollegeTestDetail(@RequestParam("id") Integer id) {
+        return collegeTestDetailService.getCollegeTestDetail(id);
+    }
+
+    @PostMapping("/addCollegeTestDetail")
+    public int addCollegeTestDetail(@ModelAttribute CollegeTestDetail collegeTestDetail) {
+        return collegeTestDetailService.addCollegeTestDetail(collegeTestDetail);
+    }
+
+    @GetMapping("/deleteCollegeTestDetail")
+    public int deleteCollegeTestDetail(@RequestParam("id") Integer id) {
+        return collegeTestDetailService.deleteCollegeTestDetail(id);
+    }
+
+    @PostMapping("/updateCollegeTestDetail")
+    public int updateCollegeTestDetail(@ModelAttribute CollegeTestDetail collegeTestDetail) {
+        return collegeTestDetailService.updateCollegeTestDetail(collegeTestDetail);
+    }
+
+
+}

+ 45 - 0
src/main/java/com/ygj/yuemum/controller/college/CollegeTestResultController.java

@@ -0,0 +1,45 @@
+package com.ygj.yuemum.controller.college;
+
+
+import com.ygj.yuemum.domain.college.CollegeTest;
+import com.ygj.yuemum.domain.college.CollegeTestResult;
+import com.ygj.yuemum.service.college.CollegeTestResultService;
+import com.ygj.yuemum.service.college.CollegeTestService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+public class CollegeTestResultController {
+
+    @Autowired
+    private CollegeTestResultService collegeTestResultService;
+
+    @GetMapping("/getCollegeTestResults")
+    public List<CollegeTestResult> getCollegeTestResults() {
+        return collegeTestResultService.getCollegeTestResults();
+    }
+
+    @GetMapping("/getCollegeTestResult")
+    public CollegeTestResult getCollegeTestResult(@RequestParam("id") Integer id) {
+        return collegeTestResultService.getCollegeTestResult(id);
+    }
+
+    @PostMapping("/addCollegeTestResult")
+    public int addCollegeTestResult(@ModelAttribute CollegeTestResult collegeTestResult) {
+        return collegeTestResultService.addCollegeTestResult(collegeTestResult);
+    }
+
+    @GetMapping("/deleteCollegeTestResult")
+    public int deleteCollegeTestResult(@RequestParam("id") Integer id) {
+        return collegeTestResultService.deleteCollegeTestResult(id);
+    }
+
+    @PostMapping("/updateCollegeTestResult")
+    public int updateCollegeTestResult(@ModelAttribute CollegeTestResult collegeTestResult) {
+        return collegeTestResultService.updateCollegeTestResult(collegeTestResult);
+    }
+
+
+}

+ 1 - 3
src/main/java/com/ygj/yuemum/controller/college/CollegeUserPointsController.java

@@ -44,12 +44,10 @@ public class CollegeUserPointsController {
     public int updateCollegeUserPoints(@ModelAttribute CollegeUserPoints collegeUserPoints) {
         return collegeUserPointsService.updateCollegeUserPoints(collegeUserPoints);
     }
-    @PostMapping("/College/QueryUserPoints")
+    @PostMapping("/college/queryUserPoints")
     public String QueryUserPoints(@RequestParam("openid") String openid,@RequestParam("city") String city) {
         LinkedHashMap<String, Object> orderTemps = collegeUserPointsService.QueryUserPoints(openid,city);
         String jso = JSONObject.toJSONString(orderTemps, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue);
         return jso;
     }
-
-
 }

+ 9 - 0
src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumCoreDao.java

@@ -1,6 +1,9 @@
 package com.ygj.yuemum.dao.college;
 
 import com.ygj.yuemum.domain.college.CollegeCurriculumCore;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
+import com.ygj.yuemum.domain.college.ReturnUserLearningCoreDetail;
+import com.ygj.yuemum.domain.wxmini.WXUser;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -14,4 +17,10 @@ public interface CollegeCurriculumCoreDao {
     int insertSelective(CollegeCurriculumCore record);
     int updateByPrimaryKeySelective(CollegeCurriculumCore record);
     List<CollegeCurriculumCore> queryCoreByStep(CollegeCurriculumCore record);
+
+    List<CollegeCurriculumCore> queryUserLearningCore(CollegeCurriculumQuery collegeCurriculumQuery);
+
+    ReturnUserLearningCoreDetail queryUserLearningCoreDetail (CollegeCurriculumQuery collegeCurriculumQuery);
+    ReturnUserLearningCoreDetail queryCoreDetail (CollegeCurriculumQuery collegeCurriculumQuery);
+
 }

+ 4 - 0
src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumExperienceDao.java

@@ -1,6 +1,7 @@
 package com.ygj.yuemum.dao.college;
 
 import com.ygj.yuemum.domain.college.CollegeCurriculumExperience;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -15,4 +16,7 @@ public interface CollegeCurriculumExperienceDao {
     int updateByPrimaryKeySelective(CollegeCurriculumExperience record);
 
     List<CollegeCurriculumExperience> queryExperienceByStep(CollegeCurriculumExperience record);
+
+    List<CollegeCurriculumExperience> queryUserLearningExperience(CollegeCurriculumQuery collegeCurriculumQuery);
+
 }

+ 3 - 0
src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumPracticeDao.java

@@ -1,6 +1,7 @@
 package com.ygj.yuemum.dao.college;
 
 import com.ygj.yuemum.domain.college.CollegeCurriculumPractice;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -19,4 +20,6 @@ public interface CollegeCurriculumPracticeDao {
     int updateByPrimaryKeySelective(CollegeCurriculumPractice record);
 
     List<CollegeCurriculumPractice> queryPracticeByStep(CollegeCurriculumPractice record);
+
+    List<CollegeCurriculumPractice> queryUserLearningPractice(CollegeCurriculumQuery collegeCurriculumQuery);
 }

+ 20 - 0
src/main/java/com/ygj/yuemum/dao/college/CollegeTestDao.java

@@ -0,0 +1,20 @@
+package com.ygj.yuemum.dao.college;
+
+import com.ygj.yuemum.domain.college.CollegeTest;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CollegeTestDao {
+
+    List<CollegeTest> getAll();
+
+    CollegeTest selectByPrimaryKey(Integer id);
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(CollegeTest record);
+
+    int updateByPrimaryKeySelective(CollegeTest record);
+}

+ 20 - 0
src/main/java/com/ygj/yuemum/dao/college/CollegeTestDetailDao.java

@@ -0,0 +1,20 @@
+package com.ygj.yuemum.dao.college;
+
+import com.ygj.yuemum.domain.college.CollegeTestDetail;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CollegeTestDetailDao {
+
+    List<CollegeTestDetail> getAll();
+
+    CollegeTestDetail selectByPrimaryKey(Integer id);
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(CollegeTestDetail record);
+
+    int updateByPrimaryKeySelective(CollegeTestDetail record);
+}

+ 20 - 0
src/main/java/com/ygj/yuemum/dao/college/CollegeTestResultDao.java

@@ -0,0 +1,20 @@
+package com.ygj.yuemum.dao.college;
+
+import com.ygj.yuemum.domain.college.CollegeTestResult;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CollegeTestResultDao {
+
+    List<CollegeTestResult> getAll();
+
+    CollegeTestResult selectByPrimaryKey(Integer id);
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insertSelective(CollegeTestResult record);
+
+    int updateByPrimaryKeySelective(CollegeTestResult record);
+}

+ 31 - 3
src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumCore.java

@@ -4,6 +4,7 @@ public class CollegeCurriculumCore {
 
     private Integer id;
     private String c_code;
+    private Integer c_seq;
     private String c_name;
     private String c_type;
     private Integer c_step;
@@ -12,7 +13,7 @@ public class CollegeCurriculumCore {
     private Integer istest;
     private Integer testid;
     private Integer credit;
-    private Integer video_length;
+    private String video_length;
     private String img_head_href;
     private String c_desc;
     private String c_content;
@@ -22,9 +23,36 @@ public class CollegeCurriculumCore {
     private Integer pcount;
     private Integer positive;
     private Integer negative;
+    private String cd_code;
+    private String status;
     private Integer page;
     private Integer limit;
 
+
+    public Integer getC_seq() {
+        return c_seq;
+    }
+
+    public void setC_seq(Integer c_seq) {
+        this.c_seq = c_seq;
+    }
+
+    public String getCd_code() {
+        return cd_code;
+    }
+
+    public void setCd_code(String cd_code) {
+        this.cd_code = cd_code;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
     public Integer getPcount() {
         return pcount;
     }
@@ -113,11 +141,11 @@ public class CollegeCurriculumCore {
         this.credit = credit;
     }
 
-    public Integer getVideo_length() {
+    public String getVideo_length() {
         return video_length;
     }
 
-    public void setVideo_length(Integer video_length) {
+    public void setVideo_length(String video_length) {
         this.video_length = video_length;
     }
 

+ 24 - 6
src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumExperience.java

@@ -12,13 +12,31 @@ public class CollegeCurriculumExperience {
     private String city;
     private String m_name;
     private String m_address;
-    private Integer latitude;
-    private Integer longitude;
+    private String latitude;
+    private String longitude;
     private Integer credit;
     private String qrcode;
+    private String cd_code;
+    private String status;
     private Integer page;
     private Integer limit;
 
+    public String getCd_code() {
+        return cd_code;
+    }
+
+    public void setCd_code(String cd_code) {
+        this.cd_code = cd_code;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
     public Integer getId() {
         return id;
     }
@@ -99,19 +117,19 @@ public class CollegeCurriculumExperience {
         this.m_address = m_address;
     }
 
-    public Integer getLatitude() {
+    public String getLatitude() {
         return latitude;
     }
 
-    public void setLatitude(Integer latitude) {
+    public void setLatitude(String latitude) {
         this.latitude = latitude;
     }
 
-    public Integer getLongitude() {
+    public String getLongitude() {
         return longitude;
     }
 
-    public void setLongitude(Integer longitude) {
+    public void setLongitude(String longitude) {
         this.longitude = longitude;
     }
 

+ 19 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumPractice.java

@@ -18,10 +18,29 @@ public class CollegeCurriculumPractice {
     private Integer maximum;
     private Integer pcount;
     private Integer credit;
+    private String cd_code;
+    private String status;
     private String qrcode;
     private Integer page;
     private Integer limit;
 
+
+    public String getCd_code() {
+        return cd_code;
+    }
+
+    public void setCd_code(String cd_code) {
+        this.cd_code = cd_code;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
     public String getAddress() {
         return address;
     }

+ 41 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumQuery.java

@@ -0,0 +1,41 @@
+package com.ygj.yuemum.domain.college;
+
+public class CollegeCurriculumQuery {
+    private Integer id;
+    private String openid;
+    private String c_type;
+    private Integer c_step;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getOpenid() {
+        return openid;
+    }
+
+    public void setOpenid(String openid) {
+        this.openid = openid;
+    }
+
+    public String getC_type() {
+        return c_type;
+    }
+
+    public void setC_type(String c_type) {
+        this.c_type = c_type;
+    }
+
+    public Integer getC_step() {
+        return c_step;
+    }
+
+    public void setC_step(Integer c_step) {
+        this.c_step = c_step;
+    }
+}

+ 9 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeLearningDetail.java

@@ -8,9 +8,18 @@ public class CollegeLearningDetail {
     private Integer status;
     private String date;
     private Integer credit;
+    private Integer rate;
     private Integer page;
     private Integer limit;
 
+    public Integer getRate() {
+        return rate;
+    }
+
+    public void setRate(Integer rate) {
+        this.rate = rate;
+    }
+
     public Integer getId() {
         return id;
     }

+ 58 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeTest.java

@@ -0,0 +1,58 @@
+package com.ygj.yuemum.domain.college;
+
+public class CollegeTest {
+    private Integer id;
+    private String core_id;
+    private String name;
+    private Integer score;
+    private Integer credit;
+    private String desc;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getCore_id() {
+        return core_id;
+    }
+
+    public void setCore_id(String core_id) {
+        this.core_id = core_id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Integer getScore() {
+        return score;
+    }
+
+    public void setScore(Integer score) {
+        this.score = score;
+    }
+
+    public Integer getCredit() {
+        return credit;
+    }
+
+    public void setCredit(Integer credit) {
+        this.credit = credit;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+}

+ 49 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeTestDetail.java

@@ -0,0 +1,49 @@
+package com.ygj.yuemum.domain.college;
+
+public class CollegeTestDetail {
+    private Integer id;
+    private String openid;
+    private Integer testid;
+    private Integer status;
+    private Integer result;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getOpenid() {
+        return openid;
+    }
+
+    public void setOpenid(String openid) {
+        this.openid = openid;
+    }
+
+    public Integer getTestid() {
+        return testid;
+    }
+
+    public void setTestid(Integer testid) {
+        this.testid = testid;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getResult() {
+        return result;
+    }
+
+    public void setResult(Integer result) {
+        this.result = result;
+    }
+}

+ 58 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeTestResult.java

@@ -0,0 +1,58 @@
+package com.ygj.yuemum.domain.college;
+
+public class CollegeTestResult {
+    private Integer id;
+    private Integer testid;
+    private Integer seq;
+    private String result_desc;
+    private Integer isright;
+    private Integer score;
+
+    public Integer getScore() {
+        return score;
+    }
+
+    public void setScore(Integer score) {
+        this.score = score;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getTestid() {
+        return testid;
+    }
+
+    public void setTestid(Integer testid) {
+        this.testid = testid;
+    }
+
+    public Integer getSeq() {
+        return seq;
+    }
+
+    public void setSeq(Integer seq) {
+        this.seq = seq;
+    }
+
+    public String getResult_desc() {
+        return result_desc;
+    }
+
+    public void setResult_desc(String result_desc) {
+        this.result_desc = result_desc;
+    }
+
+    public Integer getIsright() {
+        return isright;
+    }
+
+    public void setIsright(Integer isright) {
+        this.isright = isright;
+    }
+}

+ 157 - 0
src/main/java/com/ygj/yuemum/domain/college/ReturnUserLearningCoreDetail.java

@@ -0,0 +1,157 @@
+package com.ygj.yuemum.domain.college;
+
+public class ReturnUserLearningCoreDetail {
+    private String c_code;
+    private String c_name;
+    private Integer pcount;
+    private Integer credit;
+    private String t_image_href;
+    private String img_head_href;
+    private String t_name;
+    private String t_desc;
+    private String c_desc;
+    private String c_content;
+    private String video_length;
+    private boolean isvideo;
+    private boolean istest;
+    private Integer positive;
+    private  Integer result;
+    private Integer status;
+    private Integer rate;
+
+    public String getC_content() {
+        return c_content;
+    }
+
+    public void setC_content(String c_content) {
+        this.c_content = c_content;
+    }
+
+    public Integer getPositive() {
+        return positive;
+    }
+
+    public void setPositive(Integer positive) {
+        this.positive = positive;
+    }
+
+    public String getVideo_length() {
+        return video_length;
+    }
+
+    public void setVideo_length(String video_length) {
+        this.video_length = video_length;
+    }
+
+    public String getImg_head_href() {
+        return img_head_href;
+    }
+
+    public void setImg_head_href(String img_head_href) {
+        this.img_head_href = img_head_href;
+    }
+
+    public String getC_code() {
+        return c_code;
+    }
+
+    public void setC_code(String c_code) {
+        this.c_code = c_code;
+    }
+
+    public String getC_name() {
+        return c_name;
+    }
+
+    public void setC_name(String c_name) {
+        this.c_name = c_name;
+    }
+
+    public Integer getPcount() {
+        return pcount;
+    }
+
+    public void setPcount(Integer pcount) {
+        this.pcount = pcount;
+    }
+
+    public Integer getCredit() {
+        return credit;
+    }
+
+    public void setCredit(Integer credit) {
+        this.credit = credit;
+    }
+
+    public String getT_image_href() {
+        return t_image_href;
+    }
+
+    public void setT_image_href(String t_image_href) {
+        this.t_image_href = t_image_href;
+    }
+
+    public String getT_name() {
+        return t_name;
+    }
+
+    public void setT_name(String t_name) {
+        this.t_name = t_name;
+    }
+
+    public String getT_desc() {
+        return t_desc;
+    }
+
+    public void setT_desc(String t_desc) {
+        this.t_desc = t_desc;
+    }
+
+    public String getC_desc() {
+        return c_desc;
+    }
+
+    public void setC_desc(String c_desc) {
+        this.c_desc = c_desc;
+    }
+
+    public boolean isIsvideo() {
+        return isvideo;
+    }
+
+    public void setIsvideo(boolean isvideo) {
+        this.isvideo = isvideo;
+    }
+
+    public boolean isIstest() {
+        return istest;
+    }
+
+    public void setIstest(boolean istest) {
+        this.istest = istest;
+    }
+
+    public Integer getResult() {
+        return result;
+    }
+
+    public void setResult(Integer result) {
+        this.result = result;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getRate() {
+        return rate;
+    }
+
+    public void setRate(Integer rate) {
+        this.rate = rate;
+    }
+}

+ 156 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumCoreService.java

@@ -1,17 +1,31 @@
 package com.ygj.yuemum.service.college;
 
+import com.ygj.yuemum.component.Constant;
 import com.ygj.yuemum.dao.college.CollegeCurriculumCoreDao;
 import com.ygj.yuemum.domain.college.CollegeCurriculumCore;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
+import com.ygj.yuemum.domain.college.ReturnUserLearningCoreDetail;
+import com.ygj.yuemum.domain.wxmini.WXUser;
+import com.ygj.yuemum.service.wxmini.WXUserService;
+import com.ygj.yuemum.utils.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 @Service
 public class CollegeCurriculumCoreService {
 
+    public Integer LMP = Constant.LMP;
+    public Integer AGE = Constant.AGE;
+
     @Autowired
     private CollegeCurriculumCoreDao collegeCurriculumCoreDao;
+    @Autowired
+    private WXUserService wxUserService;
 
     public List<CollegeCurriculumCore> getCollegeCurriculumCores() {
         List<CollegeCurriculumCore> collegeCurriculumCores = collegeCurriculumCoreDao.getAll();
@@ -34,8 +48,150 @@ public class CollegeCurriculumCoreService {
     public int updateCollegeCurriculumCore(CollegeCurriculumCore collegeCurriculumCore) {
         return collegeCurriculumCoreDao.updateByPrimaryKeySelective(collegeCurriculumCore);
     }
+
     public List<CollegeCurriculumCore> queryCoreByStep(CollegeCurriculumCore collegeCurriculumCore) {
         return collegeCurriculumCoreDao.queryCoreByStep(collegeCurriculumCore);
     }
 
+    public LinkedHashMap<String, Object> queryUserLearningCore(String openid) {
+        WXUser wxUser = wxUserService.getWXUser(openid);
+        LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
+        try {
+            if (wxUser != null && wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null && wxUser.getXu_phone() != null) {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date dateNow = new Date();
+                Date getDate = sdf.parse(wxUser.getXu_content_date());
+                if (wxUser.getXu_content_type().equals("B01")) {
+                    CollegeCurriculumQuery collegeCurriculumQueryB = new CollegeCurriculumQuery();
+                    CollegeCurriculumQuery collegeCurriculumQueryP = new CollegeCurriculumQuery();
+                    collegeCurriculumQueryB.setC_type("B01");
+                    collegeCurriculumQueryB.setOpenid(openid);
+                    if(dateNow.getTime() < getDate.getTime()) {
+                        //还没出生
+                        return null;
+                    } else {
+                        if(DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
+                            collegeCurriculumQueryB.setC_step(AGE);
+                        } else {
+                            collegeCurriculumQueryB.setC_step(AGE - DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                        }
+                    }
+                    //育儿课程加孕周课程
+                    List<CollegeCurriculumCore> collegeCurriculumCores = collegeCurriculumCoreDao.queryUserLearningCore(collegeCurriculumQueryB);
+                    for(CollegeCurriculumCore collegeCurriculumCore:collegeCurriculumCores){
+                        if(collegeCurriculumCore.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
+                            collegeCurriculumCore.setStatus("已完成");
+                        } else {
+                            if (collegeCurriculumCore.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate)) {
+                                collegeCurriculumCore.setStatus("待完成");
+                            } else {
+                                collegeCurriculumCore.setStatus("未完成");
+                            }
+                        }
+                        tableData.put("collegeCurriculumCores_b",collegeCurriculumCores);
+                    }
+                    collegeCurriculumQueryP.setC_type("P01");
+                    collegeCurriculumQueryP.setOpenid(openid);
+                    collegeCurriculumQueryP.setC_step(LMP);
+                    List<CollegeCurriculumCore> collegeCurriculumCore_p = collegeCurriculumCoreDao.queryUserLearningCore(collegeCurriculumQueryP);
+                    for(CollegeCurriculumCore collegeCurriculumCore:collegeCurriculumCore_p){
+                        if(collegeCurriculumCore.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
+                            collegeCurriculumCore.setStatus("已完成");
+                        } else {
+                            if ( collegeCurriculumCore.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate) ) {
+                                collegeCurriculumCore.setStatus("待完成");
+                            } else {
+                                collegeCurriculumCore.setStatus("未完成");
+                            }
+                        }
+                        tableData.put("collegeCurriculumCores_p",collegeCurriculumCore_p);
+                    }
+                    return tableData;
+                } else if (wxUser.getXu_content_type().equals("P01")) {
+                    CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery();
+                    collegeCurriculumQuery.setC_type(wxUser.getXu_content_type());
+                    collegeCurriculumQuery.setOpenid(openid);
+                    if(dateNow.getTime() < getDate.getTime()) {
+                        if (LMP-DateUtil.getWeekDiff(dateNow, getDate) < 0) {
+                            return null; //还没怀孕
+                        } else {
+                            collegeCurriculumQuery.setC_step(LMP-DateUtil.getWeekDiff(dateNow, getDate));
+                        }
+                    }else {
+                        collegeCurriculumQuery.setC_step(LMP); //已出生
+                    }
+                    //孕周课程
+                    List<CollegeCurriculumCore> collegeCurriculumCores = collegeCurriculumCoreDao.queryUserLearningCore(collegeCurriculumQuery);
+                    for(CollegeCurriculumCore collegeCurriculumCore:collegeCurriculumCores){
+                        if(collegeCurriculumCore.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
+                            collegeCurriculumCore.setStatus("已完成");
+                        } else {
+                            if ( collegeCurriculumCore.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate) ) {
+                                collegeCurriculumCore.setStatus("待完成");
+                            } else {
+                                collegeCurriculumCore.setStatus("未完成");
+                            }
+                        }
+                    }
+                    tableData.put("collegeCurriculumCores_p",collegeCurriculumCores);
+                    return tableData;
+                } else {
+                    return null;
+                }
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            return null;
+        }
+        return null;
+    }
+
+    public LinkedHashMap<String, Object> queryUserLearningCoreDetail(CollegeCurriculumQuery collegeCurriculumQuery) {
+        LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
+        LinkedHashMap<String, Object> list = new LinkedHashMap<>();
+        ReturnUserLearningCoreDetail returnUserLearningCoreDetail = collegeCurriculumCoreDao.queryUserLearningCoreDetail(collegeCurriculumQuery);
+        tableData.put("curriculumDetail",returnUserLearningCoreDetail);
+        if (returnUserLearningCoreDetail.isIsvideo()) {
+            list.put("collegeName",returnUserLearningCoreDetail.getC_name());
+            list.put("collegeDesc","文档课件"); //先写死
+            if(returnUserLearningCoreDetail.getStatus() != null && returnUserLearningCoreDetail.getStatus() == 9) {
+                list.put("collegeStatus","完成度100%");
+            } else if (returnUserLearningCoreDetail.getStatus() != null && returnUserLearningCoreDetail.getStatus() == 2) {
+                list.put("collegeStatus","完成度"+returnUserLearningCoreDetail.getRate()+"%");
+            } else {
+                list.put("collegeStatus","完成度0%");
+            }
+        }
+        if(returnUserLearningCoreDetail.isIstest()) {
+            list.put("testName","本期课程测验");  //先写死
+            list.put("fullCredit","满分100分"); //先写死
+            if (returnUserLearningCoreDetail.getResult() != null) {
+                list.put("testResult","您的成绩为"+returnUserLearningCoreDetail.getResult()+"分");
+            } else {
+                list.put("testResult","您尚未参与考试");
+            }
+        }
+        tableData.put("curriculumList",list);
+        return tableData;
+    }
+
+    public LinkedHashMap<String, Object> queryCoreDetail(String openid,int id) {
+        CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery();
+        collegeCurriculumQuery.setId(id);
+        collegeCurriculumQuery.setOpenid(openid);
+        LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
+        ReturnUserLearningCoreDetail returnUserLearningCoreDetail = collegeCurriculumCoreDao.queryCoreDetail(collegeCurriculumQuery);
+        tableData.put("c_name",returnUserLearningCoreDetail.getC_name());
+        tableData.put("pcount",returnUserLearningCoreDetail.getPcount());
+        tableData.put("t_image_href",returnUserLearningCoreDetail.getT_image_href());
+        tableData.put("t_name",returnUserLearningCoreDetail.getT_name());
+        tableData.put("c_content",returnUserLearningCoreDetail.getC_content());
+        tableData.put("positive",returnUserLearningCoreDetail.getPositive());
+        tableData.put("t_desc",returnUserLearningCoreDetail.getT_desc());
+        tableData.put("isvideo",returnUserLearningCoreDetail.isIsvideo());
+        tableData.put("status",returnUserLearningCoreDetail.getStatus());
+        tableData.put("rate",returnUserLearningCoreDetail.getRate());
+        return tableData;
+    }
+
 }

+ 74 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumExperienceService.java

@@ -1,17 +1,31 @@
 package com.ygj.yuemum.service.college;
 
+import com.ygj.yuemum.component.Constant;
 import com.ygj.yuemum.dao.college.CollegeCurriculumExperienceDao;
 import com.ygj.yuemum.domain.college.CollegeCurriculumExperience;
+import com.ygj.yuemum.domain.college.CollegeCurriculumPractice;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
+import com.ygj.yuemum.domain.wxmini.WXUser;
+import com.ygj.yuemum.service.wxmini.WXUserService;
+import com.ygj.yuemum.utils.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 @Service
 public class CollegeCurriculumExperienceService {
 
+    public Integer LMP = Constant.LMP;
+    public Integer AGE = Constant.AGE;
+
     @Autowired
     private CollegeCurriculumExperienceDao collegeCurriculumExperienceDao;
+    @Autowired
+    private WXUserService wxUserService;
 
     public List<CollegeCurriculumExperience> getCollegeCurriculumExperiences() {
         List<CollegeCurriculumExperience> collegeCurriculumExperiences = collegeCurriculumExperienceDao.getAll();
@@ -39,4 +53,64 @@ public class CollegeCurriculumExperienceService {
         return collegeCurriculumExperienceDao.queryExperienceByStep(collegeCurriculumExperience);
     }
 
+
+    public LinkedHashMap<String, Object> queryUserLearningExperience(String openid) {
+        WXUser wxUser = wxUserService.getWXUser(openid);
+        LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
+        try {
+            if (wxUser != null && wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null && wxUser.getXu_phone() != null) {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date dateNow = new Date();
+                Date getDate = sdf.parse(wxUser.getXu_content_date());
+                CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery();
+                collegeCurriculumQuery.setOpenid(openid);
+                collegeCurriculumQuery.setC_type(wxUser.getXu_content_type());
+                if (wxUser.getXu_content_type().equals("B01")) {
+                    if (dateNow.getTime() < getDate.getTime()) {
+                        //还没出生
+                        return null;
+                    } else {
+                        if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
+                            collegeCurriculumQuery.setC_step(AGE);
+                        } else {
+                            collegeCurriculumQuery.setC_step(AGE - DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                        }
+                    }
+                } else if (wxUser.getXu_content_type().equals("P01")) {
+                    if (dateNow.getTime() < getDate.getTime()) {
+                        if (LMP - DateUtil.getWeekDiff(dateNow, getDate) < 0) {
+                            return null; //还没怀孕
+                        } else {
+                            collegeCurriculumQuery.setC_step(LMP - DateUtil.getWeekDiff(dateNow, getDate));
+                        }
+                    } else {
+                        collegeCurriculumQuery.setC_step(LMP); //已出生
+                    }
+                } else {
+                    return null;
+                }
+                List<CollegeCurriculumExperience> collegeCurriculumExperiences = collegeCurriculumExperienceDao.queryUserLearningExperience(collegeCurriculumQuery);
+                for (CollegeCurriculumExperience collegeCurriculumExperience : collegeCurriculumExperiences) {
+                    if (collegeCurriculumExperience.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
+                        collegeCurriculumExperience.setStatus("已完成");
+                    } else {
+                        if (collegeCurriculumExperience.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate)) {
+                            collegeCurriculumExperience.setStatus("待完成");
+                        } else {
+                            collegeCurriculumExperience.setStatus("未完成");
+                        }
+                    }
+                }
+                tableData.put("collegeCurriculumExperiences", collegeCurriculumExperiences);
+                return tableData;
+            } else {
+                return null;
+            }
+        } catch (
+                Exception ex) {
+            ex.printStackTrace();
+            return null;
+        }
+    }
+
 }

+ 74 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumPracticeService.java

@@ -1,19 +1,34 @@
 package com.ygj.yuemum.service.college;
 
+import com.ygj.yuemum.component.Constant;
 import com.ygj.yuemum.dao.college.CollegeCurriculumExperienceDao;
 import com.ygj.yuemum.dao.college.CollegeCurriculumPracticeDao;
+import com.ygj.yuemum.domain.college.CollegeCurriculumCore;
 import com.ygj.yuemum.domain.college.CollegeCurriculumExperience;
 import com.ygj.yuemum.domain.college.CollegeCurriculumPractice;
+import com.ygj.yuemum.domain.college.CollegeCurriculumQuery;
+import com.ygj.yuemum.domain.wxmini.WXUser;
+import com.ygj.yuemum.service.wxmini.WXUserService;
+import com.ygj.yuemum.utils.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 @Service
 public class CollegeCurriculumPracticeService {
 
+    public Integer LMP = Constant.LMP;
+    public Integer AGE = Constant.AGE;
+
     @Autowired
     private CollegeCurriculumPracticeDao collegeCurriculumPracticeDao;
+    @Autowired
+    private WXUserService wxUserService;
+
 
     public List<CollegeCurriculumPractice> getCollegeCurriculumPractices() {
         List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeDao.getAll();
@@ -41,4 +56,63 @@ public class CollegeCurriculumPracticeService {
         return collegeCurriculumPracticeDao.queryPracticeByStep(collegeCurriculumPractice);
     }
 
+    public LinkedHashMap<String, Object> queryUserLearningPractice(String openid) {
+        WXUser wxUser = wxUserService.getWXUser(openid);
+        LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
+        try {
+            if (wxUser != null && wxUser.getXu_content_type() != null && wxUser.getXu_content_date() != null && wxUser.getXu_phone() != null) {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date dateNow = new Date();
+                Date getDate = sdf.parse(wxUser.getXu_content_date());
+                CollegeCurriculumQuery collegeCurriculumQuery = new CollegeCurriculumQuery();
+                collegeCurriculumQuery.setOpenid(openid);
+                collegeCurriculumQuery.setC_type(wxUser.getXu_content_type());
+                if (wxUser.getXu_content_type().equals("B01")) {
+                    if (dateNow.getTime() < getDate.getTime()) {
+                        //还没出生
+                        return null;
+                    } else {
+                        if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
+                            collegeCurriculumQuery.setC_step(AGE);
+                        } else {
+                            collegeCurriculumQuery.setC_step(AGE - DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                        }
+                    }
+                } else if (wxUser.getXu_content_type().equals("P01")) {
+                    if (dateNow.getTime() < getDate.getTime()) {
+                        if (LMP - DateUtil.getWeekDiff(dateNow, getDate) < 0) {
+                            return null; //还没怀孕
+                        } else {
+                            collegeCurriculumQuery.setC_step(LMP - DateUtil.getWeekDiff(dateNow, getDate));
+                        }
+                    } else {
+                        collegeCurriculumQuery.setC_step(LMP); //已出生
+                    }
+                } else {
+                    return null;
+                }
+                List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeDao.queryUserLearningPractice(collegeCurriculumQuery);
+                for (CollegeCurriculumPractice collegeCurriculumPractice : collegeCurriculumPractices) {
+                    if (collegeCurriculumPractice.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
+                        collegeCurriculumPractice.setStatus("已完成");
+                    } else {
+                        if (collegeCurriculumPractice.getC_step() >= DateUtil.getWeekDiff(dateNow, getDate)) {
+                            collegeCurriculumPractice.setStatus("待完成");
+                        } else {
+                            collegeCurriculumPractice.setStatus("未完成");
+                        }
+                    }
+                }
+                tableData.put("collegeCurriculumPractices", collegeCurriculumPractices);
+                return tableData;
+            } else {
+                return null;
+            }
+        } catch (
+                Exception ex) {
+            ex.printStackTrace();
+            return null;
+        }
+    }
+
 }

+ 40 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeTestDetailService.java

@@ -0,0 +1,40 @@
+package com.ygj.yuemum.service.college;
+
+import com.ygj.yuemum.dao.college.CollegeTestDao;
+import com.ygj.yuemum.dao.college.CollegeTestDetailDao;
+import com.ygj.yuemum.domain.college.CollegeTest;
+import com.ygj.yuemum.domain.college.CollegeTestDetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CollegeTestDetailService {
+
+    @Autowired
+    private CollegeTestDetailDao collegeTestDetailDao;
+
+    public List<CollegeTestDetail> getCollegeTestDetails() {
+        List<CollegeTestDetail> collegeTestDetails = collegeTestDetailDao.getAll();
+        return collegeTestDetails;
+    }
+
+    public CollegeTestDetail getCollegeTestDetail(Integer id) {
+        CollegeTestDetail collegeTestDetail = collegeTestDetailDao.selectByPrimaryKey(id);
+        return collegeTestDetail;
+    }
+
+    public int addCollegeTestDetail(CollegeTestDetail collegeTestDetail) {
+        return collegeTestDetailDao.insertSelective(collegeTestDetail);
+    }
+
+    public int deleteCollegeTestDetail(Integer id) {
+        return collegeTestDetailDao.deleteByPrimaryKey(id);
+    }
+
+    public int updateCollegeTestDetail(CollegeTestDetail collegeTestDetail) {
+        return collegeTestDetailDao.updateByPrimaryKeySelective(collegeTestDetail);
+    }
+
+}

+ 38 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeTestResultService.java

@@ -0,0 +1,38 @@
+package com.ygj.yuemum.service.college;
+
+import com.ygj.yuemum.dao.college.CollegeTestResultDao;
+import com.ygj.yuemum.domain.college.CollegeTestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CollegeTestResultService {
+
+    @Autowired
+    private CollegeTestResultDao collegeTestResultDao;
+
+    public List<CollegeTestResult> getCollegeTestResults() {
+        List<CollegeTestResult> collegeTestResults = collegeTestResultDao.getAll();
+        return collegeTestResults;
+    }
+
+    public CollegeTestResult getCollegeTestResult(Integer id) {
+        CollegeTestResult collegeTestResult = collegeTestResultDao.selectByPrimaryKey(id);
+        return collegeTestResult;
+    }
+
+    public int addCollegeTestResult(CollegeTestResult collegeTestResult) {
+        return collegeTestResultDao.insertSelective(collegeTestResult);
+    }
+
+    public int deleteCollegeTestResult(Integer id) {
+        return collegeTestResultDao.deleteByPrimaryKey(id);
+    }
+
+    public int updateCollegeTestResult(CollegeTestResult collegeTestResult) {
+        return collegeTestResultDao.updateByPrimaryKeySelective(collegeTestResult);
+    }
+
+}

+ 38 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeTestService.java

@@ -0,0 +1,38 @@
+package com.ygj.yuemum.service.college;
+
+import com.ygj.yuemum.dao.college.CollegeTestDao;
+import com.ygj.yuemum.domain.college.CollegeTest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CollegeTestService {
+
+    @Autowired
+    private CollegeTestDao collegeTestDao;
+
+    public List<CollegeTest> getCollegeTests() {
+        List<CollegeTest> collegeTests = collegeTestDao.getAll();
+        return collegeTests;
+    }
+
+    public CollegeTest getCollegeTest(Integer id) {
+        CollegeTest collegeTest = collegeTestDao.selectByPrimaryKey(id);
+        return collegeTest;
+    }
+
+    public int addCollegeTest(CollegeTest collegeTest) {
+        return collegeTestDao.insertSelective(collegeTest);
+    }
+
+    public int deleteCollegeTest(Integer id) {
+        return collegeTestDao.deleteByPrimaryKey(id);
+    }
+
+    public int updateCollegeTest(CollegeTest collegeTest) {
+        return collegeTestDao.updateByPrimaryKeySelective(collegeTest);
+    }
+
+}

+ 26 - 25
src/main/java/com/ygj/yuemum/service/college/CollegeUserPointsService.java

@@ -85,36 +85,37 @@ public class CollegeUserPointsService {
                 CollegeCurriculumExperience collegeCurriculumExperienceQuery = new CollegeCurriculumExperience();
                 CollegePointsDetail collegePointsDetail = new CollegePointsDetail();
                 if (wxUser.getXu_content_type().equals("B01")) { //育儿
-                    if (DateUtil.getMonthDiff(dateNow, getDate) + 1 < 0) {
-                        //不在育儿期内
-                        return tableData;
-                    } else if (DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
-                        //超过育儿期
+                    if(dateNow.getTime() < getDate.getTime()) {
+                        //还没出生
                         return tableData;
                     } else {
-                        tableData.put("stage_step", DateUtil.getMonthDiff(dateNow, getDate) + 1);
-                        collegeCurriculumCoreQuery.setC_type("B01");
-                        collegeCurriculumCoreQuery.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
-                        collegeCurriculumPracticeQuery.setC_type("B01");
-                        collegeCurriculumPracticeQuery.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
-                        collegeCurriculumExperienceQuery.setC_type("B01");
-                        collegeCurriculumExperienceQuery.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                        if(DateUtil.getMonthDiff(dateNow, getDate) + 1 > AGE) {
+                            return tableData;
+                        } else {
+                            tableData.put("stage_step", DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                            collegeCurriculumCoreQuery.setC_type("B01");
+                            collegeCurriculumCoreQuery.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                            collegeCurriculumPracticeQuery.setC_type("B01");
+                            collegeCurriculumPracticeQuery.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                            collegeCurriculumExperienceQuery.setC_type("B01");
+                            collegeCurriculumExperienceQuery.setC_step(DateUtil.getMonthDiff(dateNow, getDate) + 1);
+                        }
                     }
                 } else if (wxUser.getXu_content_type().equals("P01")) { //孕周
-                    if (DateUtil.getWeekDiff(dateNow, getDate) < 0) {
-                        // 不在孕周内
-                        return tableData;
-                    } else if (DateUtil.getWeekDiff(dateNow, getDate) > LMP) {
-                        //超过孕周
+                    if(dateNow.getTime() < getDate.getTime()) {
+                        if (LMP-DateUtil.getWeekDiff(dateNow, getDate) < 0) {
+                            return tableData; //还没怀孕
+                        } else {
+                            tableData.put("stage_step", DateUtil.getWeekDiff(dateNow, getDate));
+                            collegeCurriculumCoreQuery.setC_type("P01");
+                            collegeCurriculumCoreQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
+                            collegeCurriculumPracticeQuery.setC_type("P01");
+                            collegeCurriculumPracticeQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
+                            collegeCurriculumExperienceQuery.setC_type("P01");
+                            collegeCurriculumExperienceQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
+                        }
+                    }else {
                         return tableData;
-                    } else {
-                        tableData.put("stage_step", DateUtil.getWeekDiff(dateNow, getDate));
-                        collegeCurriculumCoreQuery.setC_type("P01");
-                        collegeCurriculumCoreQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
-                        collegeCurriculumPracticeQuery.setC_type("P01");
-                        collegeCurriculumPracticeQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
-                        collegeCurriculumExperienceQuery.setC_type("P01");
-                        collegeCurriculumExperienceQuery.setC_step(DateUtil.getWeekDiff(dateNow, getDate));
                     }
                 } else {
                     return tableData;

+ 6 - 2
src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java

@@ -118,8 +118,12 @@ public class ShiroConfig {
         //简历分享问题
         filterChainDefinitionMap.put("/getWeChatInfo","anon");
         //超人妈妈学院
-        filterChainDefinitionMap.put("/College/QueryUserPoints","anon");
-
+        filterChainDefinitionMap.put("/college/queryUserPoints","anon");
+        filterChainDefinitionMap.put("/college/queryUserLearningCore","anon");
+        filterChainDefinitionMap.put("/college/queryUserLearningPractice","anon");
+        filterChainDefinitionMap.put("/college/queryUserLearningExperience","anon");
+        filterChainDefinitionMap.put("/college/queryUserLearningCoreDetail","anon");
+        filterChainDefinitionMap.put("/college/queryCoreDetail","anon");
 //        //用户,需要角色权限 “user”
 //        filterChainDefinitionMap.put("/user/**", "roles[user]");
 //        //管理员,需要角色权限 “admin”

+ 194 - 92
src/main/resources/mybatis/mapper/college/CollegeCurriculumCoreMapper.xml

@@ -1,32 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.ygj.yuemum.dao.college.CollegeCurriculumCoreDao" >
-
-    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeCurriculumCore" >
-        <id column="id" property="id" jdbcType="INTEGER" />
-        <result column="c_code" property="c_code" jdbcType="INTEGER" />
-        <result column="c_name" property="c_name" jdbcType="VARCHAR" />
-        <result column="c_type" property="c_type" jdbcType="VARCHAR" />
-        <result column="c_step" property="c_step" jdbcType="INTEGER" />
-        <result column="isvideo" property="isvideo" jdbcType="INTEGER" />
-        <result column="video_href" property="video_href" jdbcType="VARCHAR" />
-        <result column="istest" property="istest" jdbcType="INTEGER" />
-        <result column="testid" property="testid" jdbcType="INTEGER" />
-        <result column="credit" property="credit" jdbcType="INTEGER" />
-        <result column="video_length" property="video_length" jdbcType="INTEGER" />
-        <result column="img_head_href" property="img_head_href" jdbcType="VARCHAR" />
-        <result column="c_desc" property="c_desc" jdbcType="VARCHAR" />
-        <result column="c_content" property="c_content" jdbcType="VARCHAR" />
-        <result column="t_image_href" property="t_image_href" jdbcType="VARCHAR" />
-        <result column="t_name" property="t_name" jdbcType="VARCHAR" />
-        <result column="t_desc" property="t_desc" jdbcType="VARCHAR" />
-        <result column="pcount" property="pcount" jdbcType="INTEGER" />
-        <result column="positive" property="positive" jdbcType="INTEGER" />
-        <result column="negative" property="negative" jdbcType="INTEGER" />
+<mapper namespace="com.ygj.yuemum.dao.college.CollegeCurriculumCoreDao">
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
+        <id column="id" property="id" jdbcType="INTEGER"/>
+        <result column="c_code" property="c_code" jdbcType="VARCHAR"/>
+        <result column="c_seq" property="c_seq" jdbcType="INTEGER"/>
+        <result column="c_name" property="c_name" jdbcType="VARCHAR"/>
+        <result column="c_type" property="c_type" jdbcType="VARCHAR"/>
+        <result column="c_step" property="c_step" jdbcType="INTEGER"/>
+        <result column="isvideo" property="isvideo" jdbcType="INTEGER"/>
+        <result column="video_href" property="video_href" jdbcType="VARCHAR"/>
+        <result column="istest" property="istest" jdbcType="INTEGER"/>
+        <result column="testid" property="testid" jdbcType="INTEGER"/>
+        <result column="credit" property="credit" jdbcType="INTEGER"/>
+        <result column="video_length" property="video_length" jdbcType="VARCHAR"/>
+        <result column="img_head_href" property="img_head_href" jdbcType="VARCHAR"/>
+        <result column="c_desc" property="c_desc" jdbcType="VARCHAR"/>
+        <result column="c_content" property="c_content" jdbcType="VARCHAR"/>
+        <result column="t_image_href" property="t_image_href" jdbcType="VARCHAR"/>
+        <result column="t_name" property="t_name" jdbcType="VARCHAR"/>
+        <result column="t_desc" property="t_desc" jdbcType="VARCHAR"/>
+        <result column="pcount" property="pcount" jdbcType="INTEGER"/>
+        <result column="positive" property="positive" jdbcType="INTEGER"/>
+        <result column="negative" property="negative" jdbcType="INTEGER"/>
     </resultMap>
     <!--获取所有数据-->
 
-    <select id="getAll" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore" >
+    <select id="getAll" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
         select
         *
         from college_curriculum_core
@@ -34,7 +35,98 @@
     </select>
 
 
-    <select id="queryCoreByStep" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
+    <select id="queryUserLearningCoreDetail" resultType="com.ygj.yuemum.domain.college.ReturnUserLearningCoreDetail" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumQuery">
+        SELECT
+            ccc.c_code,
+            ccc.c_name,
+            ccc.pcount,
+            ccc.credit,
+            ccc.video_length,
+            ccc.img_head_href,
+            ccc.t_image_href,
+            ccc.t_name,
+            ccc.t_desc,
+            ccc.c_desc,
+            ccc.isvideo,
+            ccc.istest,
+            (select result from college_test_detail where id = ccc.testid and openid = #{openid,jdbcType=VARCHAR}) test_result,
+            (select status from college_learning_detail where c_code = ccc.c_code  and open_id = #{openid,jdbcType=VARCHAR} order by `status` desc limit 1) `status`,
+            (select rate from college_learning_detail where c_code = ccc.c_code  and open_id = #{openid,jdbcType=VARCHAR} order by `status` desc limit 1) `rate`
+        FROM
+            college_curriculum_core  as ccc
+        WHERE
+            id = #{id,jdbcType=INTEGER}
+    </select>
+
+
+
+    <select id="queryCoreDetail" resultType="com.ygj.yuemum.domain.college.ReturnUserLearningCoreDetail"
+            parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumQuery">
+        SELECT
+            ccc.c_name,
+            ccc.pcount,
+            ccc.t_image_href,
+            ccc.t_name,
+            ccc.c_content,
+            ccc.positive,
+            ccc.t_desc,
+            ccc.isvideo,
+            (select status from college_learning_detail where c_code = ccc.c_code  and open_id = #{openid,jdbcType=VARCHAR} order by `status` desc limit 1) `status`,
+            (select rate from college_learning_detail where c_code = ccc.c_code  and open_id = #{openid,jdbcType=VARCHAR} order by `status` desc limit 1) `rate`
+        FROM
+            college_curriculum_core  as ccc
+        WHERE
+            id = #{id,jdbcType=INTEGER}
+        order by id desc
+    </select>
+
+
+    <select id="queryUserLearningCore" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore"
+            parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumQuery">
+        SELECT
+        cc.id,
+        cc.c_code,
+        c_seq,
+        c_name,
+        c_type,
+        c_step,
+        c_desc,
+        cc.credit,
+        img_head_href,
+        cd.c_code AS cd_code,
+        IFNULL(cd.`status`,0) status,
+        pcount,
+        positive,
+        negative,
+        t_name,
+        t_desc,
+        t_image_href,
+        c_content,
+        istest,
+        isvideo,
+        testid,
+        video_href,
+        video_length
+        FROM
+        college_curriculum_core AS cc
+        LEFT JOIN ( SELECT * FROM college_learning_detail WHERE open_id = #{openid,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1 ) AS cd ON cc.c_code = cd.c_code
+        WHERE
+        c_type = #{c_type,jdbcType=VARCHAR}
+        and
+        c_seq &lt;= (SELECT
+        max(c_seq)
+        FROM
+        college_curriculum_core
+        where
+        c_type = #{c_type,jdbcType=VARCHAR}
+        and
+        FIND_IN_SET(#{c_step,jdbcType=INTEGER},c_step))
+        ORDER BY
+        c_seq desc
+    </select>
+
+    <select id="queryCoreByStep" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore"
+            parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
         select
         *
         from college_curriculum_core
@@ -46,202 +138,212 @@
     </select>
 
 
-    <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore" parameterType="java.lang.Integer" >
+    <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore"
+            parameterType="java.lang.Integer">
         select
         *
         from college_curriculum_core
         where id = #{id,jdbcType=INTEGER}
     </select>
 
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete from college_curriculum_core
         where id = #{id,jdbcType=INTEGER}
     </delete>
 
-    <insert id="insertSelective" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumCore" >
+    <insert id="insertSelective" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
         insert into college_curriculum_core
-        <trim prefix="(" suffix=")" suffixOverrides="," >
-            <if test="c_code != null" >
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="c_code != null">
                 c_code,
             </if>
-            <if test="c_name != null" >
+            <if test="c_seq != null">
+                c_seq,
+            </if>
+            <if test="c_name != null">
                 c_name,
             </if>
-            <if test="c_type != null" >
+            <if test="c_type != null">
                 c_type,
             </if>
-            <if test="c_step != null" >
+            <if test="c_step != null">
                 c_step,
             </if>
-            <if test="isvideo != null" >
+            <if test="isvideo != null">
                 isvideo,
             </if>
-            <if test="video_href != null" >
+            <if test="video_href != null">
                 video_href,
             </if>
 
-            <if test="istest != null" >
+            <if test="istest != null">
                 istest,
             </if>
-            <if test="testid != null" >
+            <if test="testid != null">
                 testid,
             </if>
-            <if test="credit != null" >
+            <if test="credit != null">
                 credit,
             </if>
-            <if test="video_length != null" >
+            <if test="video_length != null">
                 video_length,
             </if>
-            <if test="img_head_href != null" >
+            <if test="img_head_href != null">
                 img_head_href,
             </if>
-            <if test="c_desc != null" >
+            <if test="c_desc != null">
                 c_desc,
             </if>
-            <if test="c_content != null" >
+            <if test="c_content != null">
                 c_content,
             </if>
-            <if test="t_image_href != null" >
+            <if test="t_image_href != null">
                 t_image_href,
             </if>
-            <if test="t_name != null" >
+            <if test="t_name != null">
                 t_name,
             </if>
-            <if test="video_href != null" >
+            <if test="video_href != null">
                 video_href,
             </if>
-            <if test="t_desc != null" >
+            <if test="t_desc != null">
                 t_desc,
             </if>
-            <if test="pcount != null" >
+            <if test="pcount != null">
                 pcount,
             </if>
-            <if test="positive != null" >
+            <if test="positive != null">
                 positive,
             </if>
-            <if test="negative != null" >
+            <if test="negative != null">
                 negative
             </if>
         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides="," >
-            <if test="c_code != null" >
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="c_code != null">
                 #{c_code,jdbcType=VARCHAR},
             </if>
-            <if test="c_name != null" >
+            <if test="c_seq != null">
+                #{c_seq,jdbcType=INTEGER},
+            </if>
+            <if test="c_name != null">
                 #{c_name,jdbcType=VARCHAR},
             </if>
-            <if test="c_type != null" >
+            <if test="c_type != null">
                 #{c_type,jdbcType=VARCHAR},
             </if>
-            <if test="c_step != null" >
+            <if test="c_step != null">
                 #{c_step,jdbcType=INTEGER},
             </if>
-            <if test="isvideo != null" >
+            <if test="isvideo != null">
                 #{isvideo,jdbcType=INTEGER},
             </if>
-            <if test="video_href != null" >
+            <if test="video_href != null">
                 #{video_href,jdbcType=VARCHAR},
             </if>
-            <if test="istest != null" >
+            <if test="istest != null">
                 #{istest,jdbcType=INTEGER},
             </if>
-            <if test="testid != null" >
+            <if test="testid != null">
                 #{testid,jdbcType=INTEGER},
             </if>
-            <if test="credit != null" >
+            <if test="credit != null">
                 #{credit,jdbcType=INTEGER},
             </if>
-            <if test="video_length != null" >
-                #{video_length,jdbcType=INTEGER},
+            <if test="video_length != null">
+                #{video_length,jdbcType=VARCHAR},
             </if>
-            <if test="img_head_href != null" >
+            <if test="img_head_href != null">
                 #{img_head_href,jdbcType=VARCHAR},
             </if>
-            <if test="c_desc != null" >
+            <if test="c_desc != null">
                 #{c_desc,jdbcType=VARCHAR},
             </if>
-            <if test="c_content != null" >
+            <if test="c_content != null">
                 #{c_content,jdbcType=VARCHAR},
             </if>
-            <if test="t_image_href != null" >
+            <if test="t_image_href != null">
                 #{t_image_href,jdbcType=VARCHAR},
             </if>
-            <if test="t_name != null" >
+            <if test="t_name != null">
                 #{t_name,jdbcType=VARCHAR},
             </if>
-            <if test="t_desc != null" >
+            <if test="t_desc != null">
                 #{t_desc,jdbcType=VARCHAR},
             </if>
-            <if test="pcount != null" >
+            <if test="pcount != null">
                 #{pcount,jdbcType=VARCHAR},
             </if>
-            <if test="positive != null" >
+            <if test="positive != null">
                 #{positive,jdbcType=INTEGER},
             </if>
-            <if test="negative != null" >
+            <if test="negative != null">
                 #{negative,jdbcType=INTEGER}
             </if>
         </trim>
     </insert>
 
-    <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumCore" >
+    <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
         update college_curriculum_core
-        <set >
-            <if test="c_code != null" >
+        <set>
+            <if test="c_code != null">
                 c_code = #{c_code,jdbcType=VARCHAR},
             </if>
-            <if test="c_name != null" >
+            <if test="c_seq != null">
+                c_seq = #{c_seq,jdbcType=INTEGER},
+            </if>
+            <if test="c_name != null">
                 c_name = #{c_name,jdbcType=VARCHAR},
             </if>
-            <if test="c_type != null" >
+            <if test="c_type != null">
                 c_type = #{c_type,jdbcType=VARCHAR},
             </if>
-            <if test="c_step != null" >
+            <if test="c_step != null">
                 c_step = #{c_step,jdbcType=INTEGER},
             </if>
-            <if test="isvideo != null" >
+            <if test="isvideo != null">
                 isvideo = #{isvideo,jdbcType=INTEGER},
             </if>
-            <if test="video_href != null" >
+            <if test="video_href != null">
                 video_href = #{video_href,jdbcType=VARCHAR},
             </if>
-            <if test="istest != null" >
+            <if test="istest != null">
                 istest = #{istest,jdbcType=INTEGER},
             </if>
-            <if test="testid != null" >
+            <if test="testid != null">
                 testid = #{testid,jdbcType=INTEGER},
             </if>
-            <if test="credit != null" >
+            <if test="credit != null">
                 credit = #{credit,jdbcType=INTEGER},
             </if>
-            <if test="video_length != null" >
-                video_length = #{video_length,jdbcType=INTEGER},
+            <if test="video_length != null">
+                video_length = #{video_length,jdbcType=VARCHAR},
             </if>
-            <if test="img_head_href != null" >
+            <if test="img_head_href != null">
                 img_head_href = #{img_head_href,jdbcType=VARCHAR},
             </if>
-            <if test="c_desc != null" >
+            <if test="c_desc != null">
                 c_desc = #{c_desc,jdbcType=VARCHAR},
             </if>
-            <if test="c_content != null" >
+            <if test="c_content != null">
                 c_content = #{c_content,jdbcType=VARCHAR},
             </if>
-            <if test="t_image_href != null" >
+            <if test="t_image_href != null">
                 t_image_href = #{t_image_href,jdbcType=VARCHAR},
             </if>
-            <if test="t_name != null" >
+            <if test="t_name != null">
                 t_name = #{t_name,jdbcType=VARCHAR},
             </if>
-            <if test="t_desc != null" >
+            <if test="t_desc != null">
                 t_desc = #{t_desc,jdbcType=VARCHAR},
             </if>
-            <if test="pcount != null" >
+            <if test="pcount != null">
                 pcount = #{pcount,jdbcType=INTEGER},
             </if>
-            <if test="positive != null" >
+            <if test="positive != null">
                 positive = #{positive,jdbcType=INTEGER},
             </if>
-            <if test="negative != null" >
+            <if test="negative != null">
                 negative = #{negative,jdbcType=INTEGER}
             </if>
         </set>

+ 34 - 1
src/main/resources/mybatis/mapper/college/CollegeCurriculumExperienceMapper.xml

@@ -4,7 +4,8 @@
 
     <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" >
         <id column="id" property="id" jdbcType="INTEGER" />
-        <result column="c_code" property="c_code" jdbcType="INTEGER" />
+        <result column="c_code" property="c_code" jdbcType="VARCHAR" />
+        <result column="c_seq" property="c_seq" jdbcType="INTEGER" />
         <result column="c_name" property="c_name" jdbcType="VARCHAR" />
         <result column="c_type" property="c_type" jdbcType="VARCHAR" />
         <result column="c_step" property="c_step" jdbcType="INTEGER" />
@@ -63,6 +64,9 @@
             <if test="c_code != null" >
                 c_code,
             </if>
+            <if test="c_seq != null" >
+                c_seq,
+            </if>
             <if test="c_name != null" >
                 c_name,
             </if>
@@ -104,6 +108,9 @@
             <if test="c_code != null" >
                 #{c_code,jdbcType=VARCHAR},
             </if>
+            <if test="c_seq != null" >
+                #{c_seq,jdbcType=INTEGER},
+            </if>
             <if test="c_name != null" >
                 #{c_name,jdbcType=VARCHAR},
             </if>
@@ -143,12 +150,38 @@
         </trim>
     </insert>
 
+    <select id="queryUserLearningExperience" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumQuery">
+        SELECT
+        cc.*,
+        cd.c_code AS cd_code,
+        IFNULL(cd.`status`,0) status
+        FROM
+        college_curriculum_experience AS cc
+        LEFT JOIN ( SELECT * FROM college_learning_detail WHERE open_id = #{openid,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1 ) AS cd ON cc.c_code = cd.c_code
+        WHERE
+        c_type = #{c_type,jdbcType=VARCHAR}
+        and
+        c_seq &lt;= (SELECT
+        max(c_seq)
+        FROM
+        college_curriculum_experience
+        where
+        c_type = #{c_type,jdbcType=VARCHAR}
+        and
+        FIND_IN_SET(#{c_step,jdbcType=INTEGER},c_step))
+        ORDER BY
+        c_seq desc
+    </select>
+
     <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" >
         update college_curriculum_experience
         <set >
             <if test="c_code != null" >
                 c_code = #{c_code,jdbcType=VARCHAR},
             </if>
+            <if test="c_seq != null" >
+                c_seq = #{c_seq,jdbcType=INTEGER},
+            </if>
             <if test="c_name != null" >
                 c_name = #{c_name,jdbcType=VARCHAR},
             </if>

+ 34 - 1
src/main/resources/mybatis/mapper/college/CollegeCurriculumPracticeMapper.xml

@@ -4,7 +4,8 @@
 
     <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeCurriculumPractice" >
         <id column="id" property="id" jdbcType="INTEGER" />
-        <result column="c_code" property="c_code" jdbcType="INTEGER" />
+        <result column="c_code" property="c_code" jdbcType="VARCHAR" />
+        <result column="c_seq" property="c_seq" jdbcType="INTEGER" />
         <result column="c_name" property="c_name" jdbcType="VARCHAR" />
         <result column="c_type" property="c_type" jdbcType="VARCHAR" />
         <result column="c_step" property="c_step" jdbcType="INTEGER" />
@@ -30,6 +31,29 @@
         order by id desc
     </select>
 
+    <select id="queryUserLearningPractice" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumQuery">
+        SELECT
+        cc.*,
+        cd.c_code AS cd_code,
+        IFNULL(cd.`status`,0) status
+        FROM
+        college_curriculum_practice AS cc
+        LEFT JOIN ( SELECT * FROM college_learning_detail WHERE open_id = #{openid,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1 ) AS cd ON cc.c_code = cd.c_code
+        WHERE
+        c_type = #{c_type,jdbcType=VARCHAR}
+        and
+        c_seq &lt;= (SELECT
+        max(c_seq)
+        FROM
+        college_curriculum_practice
+        where
+        c_type = #{c_type,jdbcType=VARCHAR}
+        and
+        FIND_IN_SET(#{c_step,jdbcType=INTEGER},c_step))
+        ORDER BY
+        c_seq desc
+    </select>
+
     <select id="queryPracticeByStep" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice">
         select
         *
@@ -72,6 +96,9 @@
             <if test="c_code != null" >
                 c_code,
             </if>
+            <if test="c_seq != null" >
+                c_seq,
+            </if>
             <if test="c_name != null" >
                 c_name,
             </if>
@@ -122,6 +149,9 @@
             <if test="c_code != null" >
                 #{c_code,jdbcType=VARCHAR},
             </if>
+            <if test="c_seq != null" >
+                #{c_seq,jdbcType=INTEGER},
+            </if>
             <if test="c_name != null" >
                 #{c_name,jdbcType=VARCHAR},
             </if>
@@ -176,6 +206,9 @@
             <if test="c_code != null" >
                 c_code = #{c_code,jdbcType=VARCHAR},
             </if>
+            <if test="c_seq != null" >
+                c_seq = #{c_seq,jdbcType=INTEGER},
+            </if>
             <if test="c_name != null" >
                 c_name = #{c_name,jdbcType=VARCHAR},
             </if>

+ 13 - 3
src/main/resources/mybatis/mapper/college/CollegeLearningDetailMapper.xml

@@ -9,6 +9,7 @@
         <result column="status" property="status" jdbcType="INTEGER" />
         <result column="date" property="date" jdbcType="VARCHAR" />
         <result column="credit" property="credit" jdbcType="INTEGER" />
+        <result column="rate" property="rate" jdbcType="INTEGER" />
     </resultMap>
     <!--获取所有数据-->
 
@@ -48,7 +49,10 @@
                 `date`,
             </if>
             <if test="credit != null" >
-                credit
+                credit,
+            </if>
+            <if test="rate != null" >
+                rate
             </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides="," >
@@ -65,7 +69,10 @@
                 #{date,jdbcType=VARCHAR},
             </if>
             <if test="credit != null" >
-                #{credit,jdbcType=INTEGER}
+                #{credit,jdbcType=INTEGER},
+            </if>
+            <if test="rate != null" >
+                #{rate,jdbcType=INTEGER}
             </if>
         </trim>
     </insert>
@@ -86,7 +93,10 @@
                 `date` = #{date,jdbcType=VARCHAR},
             </if>
             <if test="credit != null" >
-                credit = #{credit,jdbcType=INTEGER}
+                credit = #{credit,jdbcType=INTEGER},
+            </if>
+            <if test="rate != null" >
+                rate = #{rate,jdbcType=INTEGER}
             </if>
         </set>
         where id = #{id,jdbcType=INTEGER}

+ 85 - 0
src/main/resources/mybatis/mapper/college/CollegeTestDetailMapper.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ygj.yuemum.dao.college.CollegeTestDetailDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeTestDetail" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="openid" property="openid" jdbcType="VARCHAR" />
+        <result column="testid" property="testid" jdbcType="INTEGER" />
+        <result column="status" property="status" jdbcType="INTEGER" />
+        <result column="result" property="result" jdbcType="INTEGER" />
+    </resultMap>
+    <!--获取所有数据-->
+
+    <select id="getAll" resultType="com.ygj.yuemum.domain.college.CollegeTestDetail" >
+        select
+        *
+        from college_test_detail
+        order by id desc
+    </select>
+
+
+    <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeTestDetail" parameterType="java.lang.Integer" >
+        select
+        *
+        from college_test_detail
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from college_test_detail
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+
+    <insert id="insertSelective" parameterType="com.ygj.yuemum.domain.college.CollegeTestDetail" >
+        insert into college_test_detail
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="openid != null" >
+                openid,
+            </if>
+            <if test="testid != null" >
+                testid,
+            </if>
+            <if test="status != null" >
+                status,
+            </if>
+            <if test="result != null" >
+                result
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+            <if test="openid != null" >
+                #{openid,jdbcType=VARCHAR},
+            </if>
+            <if test="testid != null" >
+                #{testid,jdbcType=INTEGER},
+            </if>
+            <if test="status != null" >
+                #{status,jdbcType=INTEGER},
+            </if>
+            <if test="result != null" >
+                #{result,jdbcType=INTEGER}
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeTestDetail" >
+        update college_test_detail
+        <set >
+            <if test="openid != null" >
+                openid = #{openid,jdbcType=VARCHAR},
+            </if>
+            <if test="testid != null" >
+                testid = #{testid,jdbcType=INTEGER},
+            </if>
+            <if test="status != null" >
+                status = #{status ,jdbcType=INTEGER},
+            </if>
+            <if test="result != null" >
+                result = #{result,jdbcType=INTEGER}
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+
+</mapper>

+ 95 - 0
src/main/resources/mybatis/mapper/college/CollegeTestMapper.xml

@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ygj.yuemum.dao.college.CollegeTestDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeTest" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="core_id" property="core_id" jdbcType="VARCHAR" />
+        <result column="name" property="name" jdbcType="VARCHAR" />
+        <result column="score" property="score" jdbcType="INTEGER" />
+        <result column="credit" property="credit" jdbcType="INTEGER" />
+        <result column="desc" property="desc" jdbcType="VARCHAR" />
+    </resultMap>
+    <!--获取所有数据-->
+
+    <select id="getAll" resultType="com.ygj.yuemum.domain.college.CollegeTest" >
+        select
+        *
+        from college_test
+        order by id desc
+    </select>
+
+
+    <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeTest" parameterType="java.lang.Integer" >
+        select
+        *
+        from college_test
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from college_test
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+
+    <insert id="insertSelective" parameterType="com.ygj.yuemum.domain.college.CollegeTest" >
+        insert into college_test
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="core_id != null" >
+                core_id,
+            </if>
+            <if test="name != null" >
+                `name`,
+            </if>
+            <if test="score != null" >
+                score,
+            </if>
+            <if test="credit != null" >
+                credit,
+            </if>
+            <if test="desc != null" >
+                `desc`
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+            <if test="core_id != null" >
+                #{core_id,jdbcType=VARCHAR},
+            </if>
+            <if test="name != null" >
+                #{name,jdbcType=VARCHAR},
+            </if>
+            <if test="score != null" >
+                #{score,jdbcType=INTEGER},
+            </if>
+            <if test="credit != null" >
+                #{credit,jdbcType=INTEGER},
+            </if>
+            <if test="desc != null" >
+                #{desc,jdbcType=VARCHAR}
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeTest" >
+        update college_test
+        <set >
+            <if test="core_id != null" >
+                core_id = #{core_id,jdbcType=VARCHAR},
+            </if>
+            <if test="name != null" >
+                `name` = #{name,jdbcType=VARCHAR},
+            </if>
+            <if test="score != null" >
+                score = #{score ,jdbcType=INTEGER},
+            </if>
+            <if test="credit != null" >
+                credit = #{credit,jdbcType=INTEGER},
+            </if>
+            <if test="desc != null" >
+                `desc` = #{desc,jdbcType=VARCHAR}
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+
+</mapper>

+ 95 - 0
src/main/resources/mybatis/mapper/college/CollegeTestResultMapper.xml

@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ygj.yuemum.dao.college.CollegeTestResultDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.college.CollegeTestResult" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="testid" property="testid  " jdbcType="INTEGER" />
+        <result column="seq" property="seq" jdbcType="INTEGER" />
+        <result column="result_desc" property="result_desc" jdbcType="INTEGER" />
+        <result column="isright" property="isright" jdbcType="INTEGER" />
+        <result column="score" property="score" jdbcType="INTEGER" />
+    </resultMap>
+    <!--获取所有数据-->
+
+    <select id="getAll" resultType="com.ygj.yuemum.domain.college.CollegeTestResult" >
+        select
+        *
+        from college_test_detail
+        order by id desc
+    </select>
+
+
+    <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeTestResult" parameterType="java.lang.Integer" >
+        select
+        *
+        from college_test_detail
+        where id = #{id,jdbcType=INTEGER}
+    </select>
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+        delete from college_test_detail
+        where id = #{id,jdbcType=INTEGER}
+    </delete>
+
+    <insert id="insertSelective" parameterType="com.ygj.yuemum.domain.college.CollegeTestResult" >
+        insert into college_test_detail
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="testid != null" >
+                testid,
+            </if>
+            <if test="seq != null" >
+                seq,
+            </if>
+            <if test="result_desc != null" >
+                result_desc,
+            </if>
+            <if test="isright != null" >
+                isright,
+            </if>
+            <if test="score != null" >
+                score
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+            <if test="testid != null" >
+                #{testid,jdbcType=INTEGER},
+            </if>
+            <if test="seq != null" >
+                #{seq,jdbcType=INTEGER},
+            </if>
+            <if test="result_desc != null" >
+                #{result_desc,jdbcType=VARCHAR},
+            </if>
+            <if test="isright != null" >
+                #{isright,jdbcType=INTEGER},
+            </if>
+            <if test="score != null" >
+                #{score,jdbcType=INTEGER}
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeTestResult" >
+        update college_test_detail
+        <set >
+            <if test="testid != null" >
+                testid = #{testid,jdbcType=INTEGER},
+            </if>
+            <if test="seq != null" >
+                seq = #{seq,jdbcType=INTEGER},
+            </if>
+            <if test="result_desc != null" >
+                result_desc = #{result_desc ,jdbcType=VARCHAR},
+            </if>
+            <if test="isright != null" >
+                isright = #{isright,jdbcType=INTEGER},
+            </if>
+            <if test="score != null" >
+                score = #{score,jdbcType=INTEGER}
+            </if>
+        </set>
+        where id = #{id,jdbcType=INTEGER}
+    </update>
+
+</mapper>