huan.wang@yueguanjia.com 5 vuotta sitten
vanhempi
commit
b2ac90b38b
22 muutettua tiedostoa jossa 448 lisäystä ja 80 poistoa
  1. 6 1
      src/main/java/com/ygj/yuemum/controller/college/CollegePresentScholarshipsController.java
  2. 23 0
      src/main/java/com/ygj/yuemum/controller/global/PackageTypeController.java
  3. 7 7
      src/main/java/com/ygj/yuemum/controller/global/PackagesController.java
  4. 3 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumExperienceDao.java
  5. 2 0
      src/main/java/com/ygj/yuemum/dao/college/CollegeCurriculumPracticeDao.java
  6. 13 0
      src/main/java/com/ygj/yuemum/dao/global/PackageTypeDao.java
  7. 1 1
      src/main/java/com/ygj/yuemum/dao/global/PackagesDao.java
  8. 54 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumExperience.java
  9. 27 0
      src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumPractice.java
  10. 31 0
      src/main/java/com/ygj/yuemum/domain/global/PackageType.java
  11. 1 0
      src/main/java/com/ygj/yuemum/service/college/CollegeBookingService.java
  12. 109 10
      src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumExperienceService.java
  13. 3 0
      src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumPracticeService.java
  14. 4 4
      src/main/java/com/ygj/yuemum/service/college/CollegePresentScholarshipsService.java
  15. 7 4
      src/main/java/com/ygj/yuemum/service/college/CollegeUserPointsService.java
  16. 24 0
      src/main/java/com/ygj/yuemum/service/global/PackageTypeService.java
  17. 5 4
      src/main/java/com/ygj/yuemum/service/global/PackagesService.java
  18. 1 0
      src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java
  19. 59 22
      src/main/resources/mybatis/mapper/college/CollegeCurriculumExperienceMapper.xml
  20. 44 26
      src/main/resources/mybatis/mapper/college/CollegeCurriculumPracticeMapper.xml
  21. 22 0
      src/main/resources/mybatis/mapper/global/PackageTypeMapper.xml
  22. 2 1
      src/main/resources/mybatis/mapper/global/PackagesMapper.xml

+ 6 - 1
src/main/java/com/ygj/yuemum/controller/college/CollegePresentScholarshipsController.java

@@ -5,6 +5,8 @@ import com.ygj.yuemum.domain.college.CollegePresentScholarships;
 import com.ygj.yuemum.service.college.CollegePresentScholarshipsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -20,5 +22,8 @@ public class CollegePresentScholarshipsController {
         return collegePresentScholarshipsService.getCollegePresentScholarships();
     }
 
-
+    @PostMapping("/updateCollegePresentScholarship")
+    public int updateCollegePresentScholarship(@ModelAttribute CollegePresentScholarships collegePresentScholarships) {
+        return collegePresentScholarshipsService.updateCollegePresentScholarship(collegePresentScholarships);
+    }
 }

+ 23 - 0
src/main/java/com/ygj/yuemum/controller/global/PackageTypeController.java

@@ -0,0 +1,23 @@
+package com.ygj.yuemum.controller.global;
+
+
+import com.ygj.yuemum.domain.global.PackageType;
+import com.ygj.yuemum.service.global.PackageTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+public class PackageTypeController {
+
+    @Autowired
+    private PackageTypeService packageTypeService;
+    @GetMapping("/getPackageTypes")
+    public List<PackageType> getPackageTypes() {
+        List<PackageType> packageTypes = packageTypeService.getPackageTypes();
+        return packageTypes;
+    }
+
+}

+ 7 - 7
src/main/java/com/ygj/yuemum/controller/global/PackagesController.java

@@ -4,9 +4,7 @@ package com.ygj.yuemum.controller.global;
 import com.ygj.yuemum.domain.global.Packages;
 import com.ygj.yuemum.service.global.PackagesService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -32,10 +30,12 @@ public class PackagesController {
         List<Packages> packages = packagesService.getPackageShowname();
         return packages;
     }
-    @GetMapping("/getPackageLists")
-    public List<Packages> getPackageLists(@RequestParam("p_branches") String p_branches) {
-        List<Packages> packages = packagesService.getPackageLists(p_branches);
-        return packages;
+    @PostMapping("/getPackageLists")
+    public List<Packages> getPackageLists(@RequestParam("p_branches") String p_branches,@RequestParam("p_type") Integer p_type) {
+        Packages packages = new Packages();
+        packages.setP_branches(p_branches);
+        packages.setP_type(p_type);
+        return packagesService.getPackageLists(packages);
     }
     @GetMapping("/getPackageDetail")
     public Packages getPackageDetail(@RequestParam("p_code") String p_code) {

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

@@ -22,6 +22,9 @@ public interface CollegeCurriculumExperienceDao {
 
     List<CollegeCurriculumExperience> queryExperienceByStep(CollegeCurriculumExperience record);
 
+    CollegeCurriculumExperience queryExperienceByLast(CollegeCurriculumExperience record);
+
+
     List<CollegeCurriculumExperience> queryUserLearningExperience(CollegeCurriculumQuery collegeCurriculumQuery);
 
     CollegeCurriculumExperience queryExperienceDetail(CollegeQuery collegePracticeQuery);

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

@@ -24,6 +24,8 @@ public interface CollegeCurriculumPracticeDao {
     int updateByPrimaryKeySelective(CollegeCurriculumPractice record);
 
     List<CollegeCurriculumPractice> queryPracticeByStep(CollegeCurriculumPractice record);
+    CollegeCurriculumPractice queryPracticeByLast(CollegeCurriculumPractice record);
+
 
     List<CollegeCurriculumPractice> queryUserLearningPractice(CollegeCurriculumQuery collegeCurriculumQuery);
     CollegeCurriculumPractice queryPracticeDetail(CollegeQuery collegePracticeQuery);

+ 13 - 0
src/main/java/com/ygj/yuemum/dao/global/PackageTypeDao.java

@@ -0,0 +1,13 @@
+package com.ygj.yuemum.dao.global;
+
+import com.ygj.yuemum.domain.global.PackageType;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PackageTypeDao {
+
+    List<PackageType> getPackageTypes();
+
+}

+ 1 - 1
src/main/java/com/ygj/yuemum/dao/global/PackagesDao.java

@@ -12,7 +12,7 @@ public interface PackagesDao {
     List<Packages> getPackageSelect();
     List<Packages> getPackageAll();
     List<Packages> getPackageShowname();
-    List<Packages> getPackageLists(String p_branches);
+    List<Packages> getPackageLists(Packages packages);
     Packages getPackageDetail(String p_code);
     String getPackageCRMCode(String p_code);
     Packages getBizID(String p_code);

+ 54 - 0
src/main/java/com/ygj/yuemum/domain/college/CollegeCurriculumExperience.java

@@ -20,6 +20,7 @@ public class CollegeCurriculumExperience {
     private String scholarships;
     private String qrcode;
     private String cd_code;
+    private Integer wct_step;
     private String status;
     private Integer bookingid;
     private String learningStatus;
@@ -28,6 +29,59 @@ public class CollegeCurriculumExperience {
     private Integer page;
     private Integer limit;
     private String img_href;
+    private String detail_img_href;
+    private String head_img_href;
+    private String stage;
+    private String distance_status;
+    private String distance_date;
+
+    public String getDistance_status() {
+        return distance_status;
+    }
+
+    public void setDistance_status(String distance_status) {
+        this.distance_status = distance_status;
+    }
+
+    public String getDistance_date() {
+        return distance_date;
+    }
+
+    public void setDistance_date(String distance_date) {
+        this.distance_date = distance_date;
+    }
+
+    public String getStage() {
+        return stage;
+    }
+
+    public void setStage(String stage) {
+        this.stage = stage;
+    }
+
+    public String getHead_img_href() {
+        return head_img_href;
+    }
+
+    public void setHead_img_href(String head_img_href) {
+        this.head_img_href = head_img_href;
+    }
+
+    public String getDetail_img_href() {
+        return detail_img_href;
+    }
+
+    public void setDetail_img_href(String detail_img_href) {
+        this.detail_img_href = detail_img_href;
+    }
+
+    public Integer getWct_step() {
+        return wct_step;
+    }
+
+    public void setWct_step(Integer wct_step) {
+        this.wct_step = wct_step;
+    }
 
     public Integer getC_seq() {
         return c_seq;

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

@@ -26,12 +26,39 @@ public class CollegeCurriculumPractice {
     private String qrcode;
     private Integer page;
     private Integer bookingid;
+    private Integer wct_step;
     private String mi_latitude;
     private String mi_longitude;
     private String openid;
     private String learningStatus;
     private Integer limit;
     private String img_href;
+    private String detail_img_href;
+    private String stage;
+
+    public String getStage() {
+        return stage;
+    }
+
+    public void setStage(String stage) {
+        this.stage = stage;
+    }
+
+    public String getDetail_img_href() {
+        return detail_img_href;
+    }
+
+    public void setDetail_img_href(String detail_img_href) {
+        this.detail_img_href = detail_img_href;
+    }
+
+    public Integer getWct_step() {
+        return wct_step;
+    }
+
+    public void setWct_step(Integer wct_step) {
+        this.wct_step = wct_step;
+    }
 
     public Integer getBranche_id() {
         return branche_id;

+ 31 - 0
src/main/java/com/ygj/yuemum/domain/global/PackageType.java

@@ -0,0 +1,31 @@
+package com.ygj.yuemum.domain.global;
+
+public class PackageType {
+    private Integer id;
+    private String name;
+    private String img_href;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getImg_href() {
+        return img_href;
+    }
+
+    public void setImg_href(String img_href) {
+        this.img_href = img_href;
+    }
+}

+ 1 - 0
src/main/java/com/ygj/yuemum/service/college/CollegeBookingService.java

@@ -76,6 +76,7 @@ public class CollegeBookingService {
         } else {
             try {
                 collegeBooking.setDate(sdf.format(new Date()));
+                collegeBooking.setSys_type("YueSuo");
                 CollegeLearningDetail collegeLearningDetail = new CollegeLearningDetail();
                 collegeLearningDetail.setOpen_id(collegeBooking.getOpenid());
                 collegeLearningDetail.setC_code(collegeBooking.getCollege_code());

+ 109 - 10
src/main/java/com/ygj/yuemum/service/college/CollegeCurriculumExperienceService.java

@@ -49,10 +49,10 @@ public class CollegeCurriculumExperienceService {
 
     public int addCollegeCurriculumExperience(CollegeCurriculumExperience collegeCurriculumExperience) {
         CollegeCurriculumExperience collegeCurriculumExperienceMax = collegeCurriculumExperienceDao.getExperienceSeq();
-        collegeCurriculumExperience.setC_code("E"+(collegeCurriculumExperienceMax.getId()+1));
+        collegeCurriculumExperience.setC_code("E" + (collegeCurriculumExperienceMax.getId() + 1));
         collegeCurriculumExperience.setPcount(0);
         //创建二维码
-        collegeCurriculumExperience.setQrcode(miniAppService.createQrCode("E"+(collegeCurriculumExperienceMax.getId()+1)));
+        collegeCurriculumExperience.setQrcode(miniAppService.createQrCode("E" + (collegeCurriculumExperienceMax.getId() + 1)));
         return collegeCurriculumExperienceDao.insertSelective(collegeCurriculumExperience);
     }
 
@@ -68,10 +68,45 @@ public class CollegeCurriculumExperienceService {
         return collegeCurriculumExperienceDao.queryExperienceByStep(collegeCurriculumExperience);
     }
 
+    public CollegeCurriculumExperience queryExperienceByLast(CollegeCurriculumExperience record) {
+        return collegeCurriculumExperienceDao.queryExperienceByLast(record);
+    }
+
 
-    public CollegeCurriculumExperience queryExperienceDetail(CollegeQuery collegeQuery) {
+    public CollegeCurriculumExperience queryExperienceDetail(CollegeQuery collegeQuery) throws ParseException {
+        WXUser wxUser = wxUserService.getWXUser(collegeQuery.getOpenid());
+        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(collegeQuery.getOpenid());
+        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;
+        }
         CollegeCurriculumExperience collegeCurriculumExperience = collegeCurriculumExperienceDao.queryExperienceDetail(collegeQuery);
-        if(collegeCurriculumExperience.getLearningStatus() != null && collegeCurriculumExperience.getLearningStatus().equals("9")){
+        if (collegeCurriculumExperience.getLearningStatus() != null && collegeCurriculumExperience.getLearningStatus().equals("9")) {
             collegeCurriculumExperience.setLearningStatus("已完成");
             collegeCurriculumExperience.setStatus("已完成");
             CollegeScholarshipsDetail collegeScholarshipsDetailQuery = new CollegeScholarshipsDetail();
@@ -81,12 +116,12 @@ public class CollegeCurriculumExperienceService {
             collegeScholarshipsDetailQuery.setCollege_type("core");
             collegeScholarshipsDetailQuery.setCollege_id(collegeCurriculumExperience.getId());
             CollegeScholarshipsDetail collegeScholarshipsDetail = collegeScholarshipsDetailService.queryCollegeScholarships(collegeScholarshipsDetailQuery);
-            if(collegeScholarshipsDetail != null) {
+            if (collegeScholarshipsDetail != null) {
                 collegeCurriculumExperience.setScholarships(String.valueOf(collegeScholarshipsDetail.getScholarships()));
             } else {
                 collegeCurriculumExperience.setScholarships("0-100");
             }
-        } else if(collegeCurriculumExperience.getLearningStatus() != null && collegeCurriculumExperience.getLearningStatus().equals("1")){
+        } else if (collegeCurriculumExperience.getLearningStatus() != null && collegeCurriculumExperience.getLearningStatus().equals("1")) {
             collegeCurriculumExperience.setLearningStatus("待完成");
             collegeCurriculumExperience.setStatus("查看预约");
             collegeCurriculumExperience.setScholarships("0-100");
@@ -94,12 +129,43 @@ public class CollegeCurriculumExperienceService {
             collegeCurriculumExperience.setLearningStatus("待完成");
             collegeCurriculumExperience.setStatus("立即预约");
             collegeCurriculumExperience.setScholarships("0-100");
+            Calendar calendar = Calendar.getInstance();
+            if (wxUser.getXu_content_type().equals("P01")) {
+                if (collegeCurriculumExperience.getC_type().equals("P01")) {
+                    if (collegeCurriculumExperience.getC_step() > collegeCurriculumQuery.getC_step()) {  //判断是否过期
+                        calendar.setTime(sdf.parse(wxUser.getXu_content_date()));
+                        collegeCurriculumExperience.setDistance_status("true");
+                        int temp = ( LMP - collegeCurriculumExperience.getC_step() + 1) * -7;
+                        calendar.add(Calendar.DAY_OF_MONTH, temp);
+                        collegeCurriculumExperience.setDistance_date(sdf.format(calendar.getTime()));
+                    }
+                }
+                if (collegeCurriculumExperience.getC_type().equals("B01")) {
+                    //计算 孕周和育儿期时间
+                    calendar.setTime(sdf.parse(wxUser.getXu_content_date()));
+                    collegeCurriculumExperience.setDistance_status("true");
+                    int temp = (collegeCurriculumExperience.getC_step()-1);
+                    calendar.add(Calendar.MONTH, temp);
+                    collegeCurriculumExperience.setDistance_date(sdf.format(calendar.getTime()));
+                }
+            }
+            if (wxUser.getXu_content_type().equals("B01")) {
+                if (collegeCurriculumExperience.getC_type().equals("B01")) {
+                    if (collegeCurriculumExperience.getC_step() > collegeCurriculumQuery.getC_step()) { //判断是否过期
+                        calendar.setTime(sdf.parse(wxUser.getXu_content_date()));
+                        collegeCurriculumExperience.setDistance_status("true");
+                        int temp = (collegeCurriculumExperience.getC_step()-1) ;
+                        calendar.add(Calendar.MONTH, temp);
+                        collegeCurriculumExperience.setDistance_date(sdf.format(calendar.getTime()));
+                    }
+                }
+            }
         }
         return collegeCurriculumExperience;
     }
 
 
-    public LinkedHashMap<String, Object> queryUserLearningExperience(String openid,String city) {
+    public LinkedHashMap<String, Object> queryUserLearningExperience(String openid, String city) {
         WXUser wxUser = wxUserService.getWXUser(openid);
         LinkedHashMap<String, Object> tableData = new LinkedHashMap<>();
         try {
@@ -147,7 +213,7 @@ public class CollegeCurriculumExperienceService {
                         collegeScholarshipsDetailQuery.setCollege_type("experience");
                         collegeScholarshipsDetailQuery.setCollege_id(collegeCurriculumExperience.getId());
                         CollegeScholarshipsDetail collegeScholarshipsDetail = collegeScholarshipsDetailService.queryCollegeScholarships(collegeScholarshipsDetailQuery);
-                        if(collegeScholarshipsDetail != null) {
+                        if (collegeScholarshipsDetail != null) {
                             collegeCurriculumExperience.setScholarships(String.valueOf(collegeScholarshipsDetail.getScholarships()));
                         } else {
                             collegeCurriculumExperience.setScholarships("0-100");
@@ -160,6 +226,38 @@ public class CollegeCurriculumExperienceService {
                         collegeCurriculumExperience.setStatus("未完成");
                         collegeCurriculumExperience.setLearningStatus("立即预约");
                         collegeCurriculumExperience.setScholarships("0-100");
+                        //如果 活动发布孕周 大于 用户当前孕周
+                        Calendar calendar = Calendar.getInstance();
+                        if (wxUser.getXu_content_type().equals("P01")) {
+                            if (collegeCurriculumExperience.getC_type().equals("P01")) {
+                                if (collegeCurriculumExperience.getC_step() > collegeCurriculumQuery.getC_step()) {  //判断是否过期
+                                    calendar.setTime(sdf.parse(wxUser.getXu_content_date()));
+                                    collegeCurriculumExperience.setDistance_status("true");
+                                    int temp = ( LMP - collegeCurriculumExperience.getC_step() + 1) * -7;
+                                    calendar.add(Calendar.DAY_OF_MONTH, temp);
+                                    collegeCurriculumExperience.setDistance_date(sdf.format(calendar.getTime()));
+                                }
+                            }
+                            if (collegeCurriculumExperience.getC_type().equals("B01")) {
+                                //计算 孕周和育儿期时间
+                                calendar.setTime(sdf.parse(wxUser.getXu_content_date()));
+                                collegeCurriculumExperience.setDistance_status("true");
+                                int temp = (collegeCurriculumExperience.getC_step()-1);
+                                calendar.add(Calendar.MONTH, temp);
+                                collegeCurriculumExperience.setDistance_date(sdf.format(calendar.getTime()));
+                            }
+                        }
+                        if (wxUser.getXu_content_type().equals("B01")) {
+                            if (collegeCurriculumExperience.getC_type().equals("B01")) {
+                                if (collegeCurriculumExperience.getC_step() > collegeCurriculumQuery.getC_step()) { //判断是否过期
+                                    calendar.setTime(sdf.parse(wxUser.getXu_content_date()));
+                                    collegeCurriculumExperience.setDistance_status("true");
+                                    int temp = (collegeCurriculumExperience.getC_step()-1) ;
+                                    calendar.add(Calendar.MONTH, temp);
+                                    collegeCurriculumExperience.setDistance_date(sdf.format(calendar.getTime()));
+                                }
+                            }
+                        }
                     }
                 }
                 tableData.put("collegeCurriculumExperiences", collegeCurriculumExperiences);
@@ -173,15 +271,16 @@ public class CollegeCurriculumExperienceService {
             return null;
         }
     }
+
     public CollegeCurriculumExperience getExperienceByCode(String c_code) {
         return collegeCurriculumExperienceDao.getExperienceByCode(c_code);
     }
 
-    public int updatePCountAdd(String c_code){
+    public int updatePCountAdd(String c_code) {
         return collegeCurriculumExperienceDao.updatePCountAdd(c_code);
     }
 
-    public int updatePCountCancel(String c_code){
+    public int updatePCountCancel(String c_code) {
         return collegeCurriculumExperienceDao.updatePCountCancel(c_code);
     }
 }

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

@@ -132,6 +132,9 @@ public class CollegeCurriculumPracticeService {
     public List<CollegeCurriculumPractice> queryPracticeByStep(CollegeCurriculumPractice collegeCurriculumPractice) {
         return collegeCurriculumPracticeDao.queryPracticeByStep(collegeCurriculumPractice);
     }
+    public CollegeCurriculumPractice queryPracticeByLast(CollegeCurriculumPractice collegeCurriculumPractice) {
+        return collegeCurriculumPracticeDao.queryPracticeByLast(collegeCurriculumPractice);
+    }
 
     public LinkedHashMap<String, Object> queryUserLearningPractice(String openid,String city) {
         WXUser wxUser = wxUserService.getWXUser(openid);

+ 4 - 4
src/main/java/com/ygj/yuemum/service/college/CollegePresentScholarshipsService.java

@@ -23,16 +23,16 @@ public class CollegePresentScholarshipsService {
         return collegePresentScholarships;
     }
 
-    public int addCollegePresentScholarship(CollegePresentScholarships collegeUserPoints) {
-        return collegePresentScholarshipsDao.insertSelective(collegeUserPoints);
+    public int addCollegePresentScholarship(CollegePresentScholarships collegePresentScholarships) {
+        return collegePresentScholarshipsDao.insertSelective(collegePresentScholarships);
     }
 
     public int deleteCollegePresentScholarship(Integer id) {
         return collegePresentScholarshipsDao.deleteByPrimaryKey(id);
     }
 
-    public int updateCollegePresentScholarship(CollegePresentScholarships collegeUserPoints) {
-        return collegePresentScholarshipsDao.updateByPrimaryKeySelective(collegeUserPoints);
+    public int updateCollegePresentScholarship(CollegePresentScholarships collegePresentScholarships) {
+        return collegePresentScholarshipsDao.updateByPrimaryKeySelective(collegePresentScholarships);
     }
     public int addCollegePresentScholarshipCount(Integer id){
         return collegePresentScholarshipsDao.addCollegePresentScholarshipCount(id);

+ 7 - 4
src/main/java/com/ygj/yuemum/service/college/CollegeUserPointsService.java

@@ -17,10 +17,7 @@ import org.springframework.stereotype.Service;
 import com.ygj.yuemum.utils.DistanceUtil;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 
 @Service
 public class CollegeUserPointsService {
@@ -253,6 +250,9 @@ public class CollegeUserPointsService {
                     collegeCurriculumPracticeQuery.setCity(city);
                     collegeCurriculumPracticeQuery.setStartdate(sdf.format(new Date()));
                     List<CollegeCurriculumPractice> collegeCurriculumPractices = collegeCurriculumPracticeService.queryPracticeByStep(collegeCurriculumPracticeQuery);
+                    if(collegeCurriculumPractices.size() ==0) {
+                        collegeCurriculumPractices.add(collegeCurriculumPracticeService.queryPracticeByLast(collegeCurriculumPracticeQuery));
+                    }
                     //判断日期
                     for (CollegeCurriculumPractice collegeCurriculumPractice : collegeCurriculumPractices) {
                         Date deadLine = ldf.parse(collegeCurriculumPractice.getDeadline());
@@ -315,6 +315,9 @@ public class CollegeUserPointsService {
                     //体验课
                     collegeCurriculumExperienceQuery.setCity(city);
                     List<CollegeCurriculumExperience> collegeCurriculumExperiences = collegeCurriculumExperienceService.queryExperienceByStep(collegeCurriculumExperienceQuery);
+                    if(collegeCurriculumExperiences.size() ==0) {
+                        collegeCurriculumExperiences.add(collegeCurriculumExperienceService.queryExperienceByLast(collegeCurriculumExperienceQuery));
+                    }
                     for (CollegeCurriculumExperience collegeCurriculumExperience : collegeCurriculumExperiences) {
                         if (collegeCurriculumExperience.getStatus() != null && collegeCurriculumExperience.getStatus().equals("9")) { //1-已预约,2-学习中,3-已过期, 9-已完成
                             collegeCurriculumExperience.setStatus("已完成");

+ 24 - 0
src/main/java/com/ygj/yuemum/service/global/PackageTypeService.java

@@ -0,0 +1,24 @@
+package com.ygj.yuemum.service.global;
+
+import com.ygj.yuemum.dao.global.PackageTypeDao;
+import com.ygj.yuemum.domain.global.PackageType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PackageTypeService {
+
+    @Autowired
+
+    private PackageTypeDao packageTypeDao;
+
+    public List<PackageType> getPackageTypes() {
+        return packageTypeDao.getPackageTypes();
+    }
+
+
+
+
+}

+ 5 - 4
src/main/java/com/ygj/yuemum/service/global/PackagesService.java

@@ -24,12 +24,13 @@ public class PackagesService {
     public List<Packages> getPackageShowname() {
         return packagesDao.getPackageShowname();
     }
-    public List<Packages> getPackageLists(String p_branches) {
-        List<Packages> packages = packagesDao.getPackageListsDefault(p_branches);
+    public List<Packages> getPackageLists(Packages packageQuery) {
+        List<Packages> packages = packagesDao.getPackageListsDefault(packageQuery.getP_branches());
         if(packages.size() ==0) {
-            return packagesDao.getPackageLists("310100");
+            packageQuery.setP_branches("310100");
+            return packagesDao.getPackageLists(packageQuery);
         }else {
-            return packagesDao.getPackageLists(p_branches);
+            return packagesDao.getPackageLists(packageQuery);
         }
     }
     public Packages getPackageDetail(String p_code) {

+ 1 - 0
src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java

@@ -170,6 +170,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/college/userRedeem", "anon");
         filterChainDefinitionMap.put("/college/enableCollege", "anon");
         filterChainDefinitionMap.put("/college/queryRedeemIndexNoLogin", "anon");
+        filterChainDefinitionMap.put("/getPackageTypes", "anon");
 
 //        //用户,需要角色权限 “user”
 //        filterChainDefinitionMap.put("/user/**", "roles[user]");

+ 59 - 22
src/main/resources/mybatis/mapper/college/CollegeCurriculumExperienceMapper.xml

@@ -20,6 +20,9 @@
         <result column="qrcode" property="qrcode" jdbcType="VARCHAR" />
         <result column="img_href" property="img_href" jdbcType="VARCHAR" />
         <result column="pcount" property="pcount" jdbcType="INTEGER" />
+        <result column="detail_img_href" property="detail_img_href" jdbcType="VARCHAR" />
+        <result column="head_img_href" property="head_img_href" jdbcType="VARCHAR" />
+        <result column="stage" property="stage" jdbcType="VARCHAR" />
     </resultMap>
     <!--获取所有数据-->
 
@@ -56,7 +59,7 @@
         *
         from college_curriculum_experience
         where c_code = #{c_code,jdbcType=VARCHAR}
-        order by id desc
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  asc
     </select>
 
     <select id="queryExperienceByStep" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience">
@@ -66,7 +69,7 @@
         from college_curriculum_experience as cce
         where 1=1
         <if test="c_step != null and c_step != ''">
-            and FIND_IN_SET(#{c_step,jdbcType=VARCHAR},cce.c_step) >0
+            and cce.c_step = #{c_step,jdbcType=INTEGER}
         </if>
         <if test="c_type != null and c_type != ''">
             and cce.c_type = #{c_type,jdbcType=VARCHAR}
@@ -74,7 +77,23 @@
         <if test="city != null and city != ''">
             and cce.city = #{city,jdbcType=VARCHAR}
         </if>
-        order by id desc
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  asc
+    </select>
+
+
+    <select id="queryExperienceByLast" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience">
+        select
+        cce.*,
+        IFNULL((select `status` from college_learning_detail where c_code = cce.c_code  and open_id = #{openid,jdbcType=VARCHAR}  order by `status` desc limit 1),0) `status`
+        from college_curriculum_experience as cce
+        where 1=1
+        <if test="c_type != null and c_type != ''">
+            and cce.c_type = #{c_type,jdbcType=VARCHAR}
+        </if>
+        <if test="city != null and city != ''">
+            and cce.city = #{city,jdbcType=VARCHAR}
+        </if>
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  asc limit 1
     </select>
 
 
@@ -87,14 +106,17 @@
             college_curriculum_experience as cce
         where
             c_code = #{c_code,jdbcType=VARCHAR}
+
     </select>
 
 
     <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" parameterType="java.lang.Integer" >
         select
-        *
+        college_curriculum_experience.*,
+        wx_content_type.wct_step
         from college_curriculum_experience
-        where id = #{id,jdbcType=INTEGER}
+        LEFT JOIN wx_content_type ON college_curriculum_experience.c_type = wx_content_type.wct_code
+        where college_curriculum_experience.id = #{id,jdbcType=INTEGER}
     </select>
 
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
@@ -151,7 +173,16 @@
                 img_href,
             </if>
             <if test="pcount != null" >
-                pcount
+                pcount,
+            </if>
+            <if test="detail_img_href != null" >
+                detail_img_href,
+            </if>
+            <if test="head_img_href != null" >
+                head_img_href,
+            </if>
+            <if test="stage != null" >
+                stage
             </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides="," >
@@ -201,7 +232,16 @@
                 #{img_href,jdbcType=VARCHAR},
             </if>
             <if test="pcount != null" >
-                #{pcount,jdbcType=INTEGER}
+                #{pcount,jdbcType=INTEGER},
+            </if>
+            <if test="detail_img_href != null" >
+                #{detail_img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="head_img_href != null" >
+                #{head_img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="stage != null" >
+                #{stage,jdbcType=VARCHAR}
             </if>
         </trim>
     </insert>
@@ -215,20 +255,8 @@
         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))
-        and
             city = #{city,jdbcType=VARCHAR}
-        ORDER BY
-        c_seq desc
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  asc
     </select>
 
     <update id="updateByPrimaryKeySelective" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience" >
@@ -280,7 +308,16 @@
                 img_href = #{img_href,jdbcType=VARCHAR},
             </if>
             <if test="pcount != null" >
-                pcount = #{pcount,jdbcType=INTEGER}
+                pcount = #{pcount,jdbcType=INTEGER},
+            </if>
+            <if test="detail_img_href != null" >
+                detail_img_href = #{detail_img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="head_img_href != null" >
+                head_img_href = #{head_img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="stage != null" >
+                stage = #{stage,jdbcType=VARCHAR}
             </if>
         </set>
         where id = #{id,jdbcType=INTEGER}
@@ -297,7 +334,7 @@
         where c_code =  #{c_code,jdbcType=VARCHAR}
     </update>
 
-    <select id="getExperienceSeq" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
+    <select id="getExperienceSeq" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumExperience">
         select
         *
         from college_curriculum_experience

+ 44 - 26
src/main/resources/mybatis/mapper/college/CollegeCurriculumPracticeMapper.xml

@@ -23,6 +23,8 @@
         <result column="credit" property="credit" jdbcType="INTEGER" />
         <result column="qrcode" property="qrcode" jdbcType="VARCHAR" />
         <result column="img_href" property="img_href" jdbcType="VARCHAR" />
+        <result column="detail_img_href" property="detail_img_href" jdbcType="VARCHAR" />
+        <result column="stage" property="stage" jdbcType="VARCHAR" />
     </resultMap>
     <!--获取所有数据-->
 
@@ -75,21 +77,9 @@
         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))
-        and
             city = #{city,jdbcType=VARCHAR}
-        ORDER BY
-        c_seq desc
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  desc
     </select>
 
     <select id="queryPracticeByStep" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice">
@@ -99,7 +89,7 @@
         from college_curriculum_practice as ccp
         where 1=1
         <if test="c_step != null and c_step != ''">
-            and FIND_IN_SET(#{c_step,jdbcType=VARCHAR},ccp.c_step) >0
+            and ccp.c_step = #{c_step,jdbcType=INTEGER}
         </if>
         <if test="c_type != null and c_type != ''">
             and ccp.c_type = #{c_type,jdbcType=VARCHAR}
@@ -107,21 +97,31 @@
         <if test="city != null and city != ''">
             and ccp.city = #{city,jdbcType=VARCHAR}
         </if>
-        <if test="startdate != null and startdate != ''">
-            and DATE_FORMAT(#{startdate,jdbcType=DATE},'%Y-%m-%d') BETWEEN ccp.startdate AND  ccp.enddate
-        </if>
-        <if test="deadline != null and deadline != ''">
-            and DATE_FORMAT(ccp.deadline,'%Y-%m-%d') &gt;= DATE_FORMAT(#{deadline,jdbcType=DATE},'%Y-%m-%d')
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  desc
+    </select>
+
+    <select id="queryPracticeByLast" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice" parameterType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice">
+        SELECT ccp.*, IFNULL(( SELECT `status` FROM college_learning_detail WHERE c_code = ccp.c_code AND open_id = 'oHhl75d2Mii0FfDli50KoqbQZXfM' ORDER BY `status` DESC LIMIT 1 ),
+            0
+        ) learningStatus
+        FROM
+            college_curriculum_practice AS ccp
+        WHERE
+            1 = 1
+        <if test="city != null and city != ''">
+            and ccp.city = #{city,jdbcType=VARCHAR}
         </if>
-        order by id desc
+        Order by REPLACE(REPLACE(stage,'第',''),'期','')*100000  desc limit 1
     </select>
 
 
     <select id="selectByPrimaryKey" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice" parameterType="java.lang.Integer" >
         select
-        *
+        college_curriculum_practice.*,
+        wx_content_type.wct_step
         from college_curriculum_practice
-        where id = #{id,jdbcType=INTEGER}
+        LEFT JOIN wx_content_type ON college_curriculum_practice.c_type = wx_content_type.wct_code
+        where college_curriculum_practice.id = #{id,jdbcType=INTEGER}
     </select>
 
 
@@ -202,7 +202,13 @@
                 qrcode,
             </if>
             <if test="img_href != null" >
-                img_href
+                img_href,
+            </if>
+            <if test="detail_img_href != null" >
+                detail_img_href,
+            </if>
+            <if test="stage != null" >
+                stage
             </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides="," >
@@ -261,7 +267,13 @@
                 #{qrcode,jdbcType=VARCHAR},
             </if>
             <if test="img_href != null" >
-                #{img_href,jdbcType=VARCHAR}
+                #{img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="detail_img_href != null" >
+                #{detail_img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="stage != null" >
+                #{stage,jdbcType=VARCHAR}
             </if>
         </trim>
     </insert>
@@ -321,7 +333,13 @@
                 qrcode = #{qrcode,jdbcType=VARCHAR},
             </if>
             <if test="img_href != null" >
-                img_href = #{img_href,jdbcType=VARCHAR}
+                img_href = #{img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="detail_img_href != null" >
+                detail_img_href = #{detail_img_href,jdbcType=VARCHAR},
+            </if>
+            <if test="stage != null" >
+                stage = #{stage,jdbcType=VARCHAR}
             </if>
         </set>
         where id = #{id,jdbcType=INTEGER}
@@ -338,7 +356,7 @@
         where c_code =  #{c_code,jdbcType=VARCHAR}
     </update>
 
-    <select id="getPracticeSeq" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumCore">
+    <select id="getPracticeSeq" resultType="com.ygj.yuemum.domain.college.CollegeCurriculumPractice">
         select
         *
         from college_curriculum_practice

+ 22 - 0
src/main/resources/mybatis/mapper/global/PackageTypeMapper.xml

@@ -0,0 +1,22 @@
+<?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.global.PackageTypeDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.global.PackageType" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="name" property="name" jdbcType="VARCHAR" />
+        <result column="img_href" property="img_href" jdbcType="VARCHAR" />
+
+    </resultMap>
+
+    <!--获取所有数据-->
+    <select id="getPackageTypes" resultType="com.ygj.yuemum.domain.global.PackageType" >
+        select
+        *
+        from package_type
+        order by  1 asc
+    </select>
+
+
+
+</mapper>

+ 2 - 1
src/main/resources/mybatis/mapper/global/PackagesMapper.xml

@@ -41,7 +41,7 @@
         order by p_seq asc
     </select>
 
-    <select id="getPackageLists" resultType="com.ygj.yuemum.domain.global.Packages" parameterType="java.lang.String">
+    <select id="getPackageLists" resultType="com.ygj.yuemum.domain.global.Packages" parameterType="com.ygj.yuemum.domain.global.Packages">
         SELECT
             *
         FROM
@@ -49,6 +49,7 @@
         WHERE
             p_show = '1'
         AND p_branches = #{p_branches,jdbcType=VARCHAR}
+        and p_type = #{p_type,jdbcType=INTEGER}
 
         UNION
         SELECT