浏览代码

把area从integer修改成string,加了轮播图前台获取方法

shicr 8 年之前
父节点
当前提交
00808d4c3a
共有 17 个文件被更改,包括 452 次插入39 次删除
  1. 1 1
      donate-console/src/main/java/com/uas/console/donate/Impl/ProjectServiceImpl.java
  2. 2 2
      donate-console/src/main/java/com/uas/console/donate/controller/ProjectController.java
  3. 1 1
      donate-console/src/main/java/com/uas/console/donate/dao/ProjectDao.java
  4. 82 0
      donate-console/src/main/java/com/uas/console/donate/model/Carousel.java
  5. 109 6
      donate-console/src/main/java/com/uas/console/donate/model/Project.java
  6. 1 1
      donate-console/src/main/java/com/uas/console/donate/service/ProjectService.java
  7. 22 0
      donate-service/src/main/java/com/uas/service/donate/Impl/CarouselServiceImpl.java
  8. 14 1
      donate-service/src/main/java/com/uas/service/donate/Impl/ProjectServiceImpl.java
  9. 28 6
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectController.java
  10. 18 0
      donate-service/src/main/java/com/uas/service/donate/dao/CarouselDao.java
  11. 20 5
      donate-service/src/main/java/com/uas/service/donate/dao/ProjectDao.java
  12. 96 0
      donate-service/src/main/java/com/uas/service/donate/model/Carousel.java
  13. 29 12
      donate-service/src/main/java/com/uas/service/donate/model/Project.java
  14. 11 0
      donate-service/src/main/java/com/uas/service/donate/service/CarouselService.java
  15. 9 1
      donate-service/src/main/java/com/uas/service/donate/service/ProjectService.java
  16. 7 1
      donate-service/src/main/resources/config/application-dev.properties
  17. 2 2
      donate-service/src/main/resources/config/application-test.properties

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/Impl/ProjectServiceImpl.java

@@ -103,7 +103,7 @@ public class ProjectServiceImpl implements ProjectService {
 
 
     //查询某领域以及某状态下的项目
-    public List<Project> queryProjects(Integer area,Integer status){
+    public List<Project> queryProjects(String area,Integer status){
         return projectDao.queryProjects(area,status);
     }
 

+ 2 - 2
donate-console/src/main/java/com/uas/console/donate/controller/ProjectController.java

@@ -75,8 +75,8 @@ public class ProjectController {
      */
     @ResponseBody
     @RequestMapping("/showProjects")
-    public List<Project> showProjects(@RequestParam(defaultValue ="0") Integer area,@RequestParam(defaultValue="1")Integer status) {
-        if(area==0){
+    public List<Project> showProjects(@RequestParam(defaultValue ="全部") String area,@RequestParam(defaultValue="1")Integer status) {
+        if(area=="全部"){
             return projectService.findByStatus(status);
         }else{
             return projectService.queryProjects(area,status);

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/dao/ProjectDao.java

@@ -32,7 +32,7 @@ public interface ProjectDao extends JpaRepository<Project,Long>,JpaSpecification
      * @return
      */
     @Query("from Project p where status=:status and area=:area and publish=2 ")
-    List<Project> queryProjects(@Param("area")Integer area,@Param("status")Integer status);
+    List<Project> queryProjects(@Param("area")String area,@Param("status")Integer status);
 
     /**
      * 查询某状态下的所有非草稿项目

+ 82 - 0
donate-console/src/main/java/com/uas/console/donate/model/Carousel.java

@@ -0,0 +1,82 @@
+package com.uas.console.donate.model;
+
+import javax.persistence.*;
+
+/**
+ * 轮播图
+ */
+@Entity
+@Table(name = "donate$carousel")
+public class Carousel {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy= GenerationType.IDENTITY)
+    @Column(name = "car_id")
+    private Long id;
+
+    /**
+     * 图片名称
+     */
+    @Column(name = "car_name")
+    private String name;
+
+    /**
+     * 轮播图图片
+     */
+    @Column(name = "car_img")
+    private String img;
+
+    /**
+     * 图片排序
+     */
+    @Column(name = "car_sort")
+    private Integer sort;
+
+    /**
+     * 轮播文本
+     */
+    @Column(name = "car_text")
+    private String text;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+}

+ 109 - 6
donate-console/src/main/java/com/uas/console/donate/model/Project.java

@@ -4,8 +4,12 @@ package com.uas.console.donate.model;
 import javax.persistence.*;
 import java.io.Serializable;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 
+/**
+ * 项目实体
+ */
 @Entity
 @Table(name="donate$project")
 public class Project implements Serializable{
@@ -36,9 +40,14 @@ public class Project implements Serializable{
 
     /**
      * 捐助领域
+     * 0:全部
+     * 1 环保/保护动物
+     * 2 疾病救助
+     * 3 扶贫/救灾
+     * 4 教育/助学
      */
     @Column(name = "pro_area")
-    private Integer area;
+    private String area;
 
     /**
      * 项目所在省
@@ -90,6 +99,12 @@ public class Project implements Serializable{
     @Column(name = "pro_person_name")
     private String personName;
 
+    /**
+     * 发起人电话号码
+     */
+    @Column(name = "pro_person_tel")
+    private String personTel;
+
     /**
      * 发起人头像
      */
@@ -128,7 +143,7 @@ public class Project implements Serializable{
     private String detail;
 
     /**
-     * 核状态(0:待审核 1:批准 2:驳回)
+     * 审核核状态(0:待审核 1:批准 2:驳回)
      */
     @Column(name = "pro_status")
     private Integer status;
@@ -165,13 +180,13 @@ public class Project implements Serializable{
     private Date submitTime;
 
     /**
-     * 驳回理由,true:正式发布,false:草稿状态
+     * 驳回理由
      */
     @Column(name="pro_refuse")
     private String refuse;
 
     /**
-     * 是否是提交状态
+     * 是否是提交状态 (1 为草稿  2为提交)
      * @return
      */
     @Column(name = "pro_publish")
@@ -185,6 +200,31 @@ public class Project implements Serializable{
     @Column(name = "pro_total_amount")
     private Double totalAmount;
 
+    /**
+     * 执行计划
+     */
+    @Column(name = "pro_executionplan")
+    private String executionPlan;
+
+    /**
+     * 资助人群
+     */
+    @Column(name = "pro_population")
+    private String population;
+
+    /**
+     * 项目已参与人数
+     */
+    @Column(name = "pro_join_amount")
+    private Long joinAmount;
+
+    /**
+     * 是否已结束 (1已过期,0未过期)
+     * @return
+     */
+    @Transient
+    private Short overdue;
+
     public Long getId() {
         return id;
     }
@@ -201,11 +241,11 @@ public class Project implements Serializable{
         this.name = name;
     }
 
-    public Integer getArea() {
+    public String getArea() {
         return area;
     }
 
-    public void setArea(Integer area) {
+    public void setArea(String area) {
         this.area = area;
     }
 
@@ -408,4 +448,67 @@ public class Project implements Serializable{
     public void setTotalAmount(Double totalAmount) {
         this.totalAmount = totalAmount;
     }
+
+    @SuppressWarnings("deprecation")
+    public String getOverdue() {
+        if (null == startTime || null == endTime) {
+            return "";
+        }
+        Date date = new Date();
+        Calendar now = Calendar.getInstance();
+        now.set(Calendar.YEAR, date.getYear());
+        now.set(Calendar.MONTH, date.getMonth());
+        now.set(Calendar.DAY_OF_MONTH, date.getDate());
+        Calendar start = Calendar.getInstance();
+        start.set(Calendar.YEAR, startTime.getYear());
+        start.set(Calendar.MONTH, startTime.getMonth());
+        start.set(Calendar.DAY_OF_MONTH, startTime.getDate());
+        Calendar end = Calendar.getInstance();
+        end.set(Calendar.YEAR, endTime.getYear());
+        end.set(Calendar.MONTH, endTime.getMonth());
+        end.set(Calendar.DAY_OF_MONTH, endTime.getDate());
+        if (now.compareTo(start) >=0 && now.compareTo(end) <=0) {
+            return "执行中";
+        } else if(now.compareTo(start)<0){
+            return "筹备中";
+        }else{
+            return "已结束";
+        }
+    }
+
+    public void setOverdue(Short overdue) {
+        this.overdue = overdue;
+    }
+
+    public String getExecutionPlan() {
+        return executionPlan;
+    }
+
+    public void setExecutionPlan(String executionPlan) {
+        this.executionPlan = executionPlan;
+    }
+
+    public String getPopulation() {
+        return population;
+    }
+
+    public void setPopulation(String population) {
+        this.population = population;
+    }
+
+    public String getPersonTel() {
+        return personTel;
+    }
+
+    public void setPersonTel(String personTel) {
+        this.personTel = personTel;
+    }
+
+    public Long getJoinAmount() {
+        return joinAmount;
+    }
+
+    public void setJoinAmount(Long joinAmount) {
+        this.joinAmount = joinAmount;
+    }
 }

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/service/ProjectService.java

@@ -37,7 +37,7 @@ public interface ProjectService {
     Project findOne(Long id);
 
     //查询某领域以及某状态下的项目
-    List<Project> queryProjects(Integer area,Integer status);
+    List<Project> queryProjects(String area,Integer status);
 
     //查询某状态下的所有项目
     List<Project> findByStatus(Integer status);

+ 22 - 0
donate-service/src/main/java/com/uas/service/donate/Impl/CarouselServiceImpl.java

@@ -0,0 +1,22 @@
+package com.uas.service.donate.Impl;
+
+
+import com.uas.service.donate.dao.CarouselDao;
+import com.uas.service.donate.model.Carousel;
+import com.uas.service.donate.service.CarouselService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CarouselServiceImpl implements CarouselService{
+
+    @Autowired
+    private CarouselDao carouselDao;
+
+    //根据排序顺序正序获取所有轮播图
+    public List<Carousel> findAll(){
+        return carouselDao.findAll();
+    }
+}

+ 14 - 1
donate-service/src/main/java/com/uas/service/donate/Impl/ProjectServiceImpl.java

@@ -7,7 +7,6 @@ import com.uas.service.donate.service.ProjectService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
-import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -51,4 +50,18 @@ public class ProjectServiceImpl implements ProjectService {
 
         return  projectDao.findArea(area);
     }
+
+    public List<Project> findProjects(){
+        return projectDao.findProjects();
+    }
+
+    public List<Project> search(String search){
+        return projectDao.search(search);
+    }
+
+    //查询项目中所有领域分类
+    public List<String> allArea(){
+        return projectDao.allArea();
+    }
+
 }

+ 28 - 6
donate-service/src/main/java/com/uas/service/donate/controller/ProjectController.java

@@ -11,12 +11,14 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
-import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.persistence.criteria.CriteriaBuilder;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -31,7 +33,17 @@ public class ProjectController {
     private ProjectService projectService ;
 
     /**
-     * 获取所有审核通过,进行中或者已结束的捐款项目
+     * 返回所有进行中和已结束的捐款项目,移动端不分页专用
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/findAll")
+    public List<Project> getProjects(){
+        return projectService.findProjects();
+    }
+
+    /**
+     * 获取所有审核通过,进行中或者已结束的捐款项目,angular分页用
      * @param page
      * @param size
      * @return
@@ -46,7 +58,7 @@ public class ProjectController {
 
     /*审核状态正序,时间倒序排序的方式*/
     private Pageable pageSort(Integer page,Integer size){
-        Sort.Order timeSort=new Sort.Order(Sort.Direction.DESC,"submitTime");
+        Sort.Order timeSort=new Sort.Order(Sort.Direction.DESC,"startTime");
         List<Sort.Order> list=new ArrayList<Sort.Order>();
         list.add(timeSort);
         Sort sort = new Sort(list);
@@ -55,7 +67,7 @@ public class ProjectController {
     }
 
     /**
-     * 查询出所有筹备中项目
+     * 查询出所有执行中项目
      */
     @ResponseBody
     @RequestMapping("/inprocess")
@@ -90,17 +102,27 @@ public class ProjectController {
         return projectService.findArea(area);
     }
 
+
     /**
-     * 点击看项目详情
+     * 点击看项目详情
      * @param id
      * @return
      */
     @ResponseBody
     @RequestMapping("/detail")
-    public Project showDetail(Long id) {
+    public Project showDetail(@PathVariable("id") Long id) {
         return projectService.findOne(id);
     }
 
+    /**
+     * 根据搜索框查找相应项目
+     */
+    @ResponseBody
+    @RequestMapping("/search")
+    public List<Project> search(@RequestParam("search")String search){
+        return projectService.search(search);
+    }
+
     /**
      * 保存项目
      * @param jsonStr

+ 18 - 0
donate-service/src/main/java/com/uas/service/donate/dao/CarouselDao.java

@@ -0,0 +1,18 @@
+package com.uas.service.donate.dao;
+
+import com.uas.service.donate.model.Carousel;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CarouselDao extends JpaRepository<Carousel,Long>,JpaSpecificationExecutor<Carousel>{
+
+    //根据排序顺序正序获取所有轮播图
+    @Query("from Carousel order by sort")
+    List<Carousel> findAll();
+
+}

+ 20 - 5
donate-service/src/main/java/com/uas/service/donate/dao/ProjectDao.java

@@ -17,18 +17,33 @@ import java.util.List;
 public interface ProjectDao extends JpaRepository<Project,Long>,JpaSpecificationExecutor<Project>,PagingAndSortingRepository<Project, Long> {
 
     //获取所有筹备中和已结束的项目
-    @Query("from Project p where now()>p.startTime and p.status=1 and p.publish=2")
+    @Query("from Project p where now()>=p.startTime and p.status=1 and p.publish=2")
     Page<Project> findAll(Pageable pageable);
 
-    //查询所有筹备中项目
-    @Query("from Project p where p.startTime<=now() and p.endTime>=now() and p.status=1 and p.publish=2")
+    //查询所有执行中项目
+    @Query("from Project p where p.startTime<=now() and p.endTime>=now() and p.status=1 and p.publish=2 order by p.startTime desc")
     Page<Project> findInProcess(Pageable pageable);
 
     //查询所有已结束的项目
-    @Query("from Project p where  now()>p.endTime and p.status=1 and publish=2")
+    @Query("from Project p where  now()>p.endTime and p.status=1 and publish=2 order by p.startTime desc")
     Page<Project> findEndProject(Pageable pageable);
 
     //查询特定领域的项目
-    @Query("from Project p where p.area=:area and p.status=1 and publish=2")
+    @Query("from Project p where p.area=:area and p.status=1 and publish=2 order by p.startTime desc")
     List<Project> findArea(@Param("area")Integer area);
+
+    @Query("from Project p where now()>=p.startTime and p.status=1 and p.publish=2 order by p.startTime desc")
+    List<Project> findProjects();
+
+    /**
+     * 项目列表搜索框查询
+     */
+    @Query("from Project p where p.name like %:search% or p.orgName like %:search% and p.status=1 and p.publish=2 order by p.startTime desc")
+    List<Project> search(@Param("search")String search);
+
+    /**
+     * 查询出所有的项目分类
+     */
+    @Query("select distinct(p.area) from Project p")
+    List<String> allArea();
 }

+ 96 - 0
donate-service/src/main/java/com/uas/service/donate/model/Carousel.java

@@ -0,0 +1,96 @@
+package com.uas.service.donate.model;
+
+import javax.persistence.*;
+
+/**
+ * 轮播图
+ */
+@Entity
+@Table(name = "donate$carousel")
+public class Carousel {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy= GenerationType.IDENTITY)
+    @Column(name = "car_id")
+    private Long id;
+
+    /**
+     * 关联的项目id
+     */
+    @Column(name = "pro_id")
+    private Long proId;
+
+    /**
+     * 图片名称
+     */
+    @Column(name = "car_name")
+    private String name;
+
+    /**
+     * 轮播图图片
+     */
+    @Column(name = "car_img")
+    private String img;
+
+    /**
+     * 图片排序
+     */
+    @Column(name = "car_sort")
+    private Integer sort;
+
+    /**
+     * 轮播文本
+     */
+    @Column(name = "car_text")
+    private String text;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public Long getProId() {
+        return proId;
+    }
+
+    public void setProId(Long proId) {
+        this.proId = proId;
+    }
+}

+ 29 - 12
donate-service/src/main/java/com/uas/service/donate/model/Project.java

@@ -40,10 +40,11 @@ public class Project implements Serializable{
 
     /**
      * 捐助领域
-     * 0 环保/保护动物
-     * 1 疾病救助
-     * 2 扶贫/救灾
-     * 3 教育/助学
+     * 0:全部
+     * 1 环保/保护动物
+     * 2 疾病救助
+     * 3 扶贫/救灾
+     * 4 教育/助学
      */
     @Column(name = "pro_area")
     private Integer area;
@@ -179,13 +180,13 @@ public class Project implements Serializable{
     private Date submitTime;
 
     /**
-     * 驳回理由,true:正式发布,false:草稿状态
+     * 驳回理由
      */
     @Column(name="pro_refuse")
     private String refuse;
 
     /**
-     * 是否是提交状态 (1 为提交  0为未提交)
+     * 是否是提交状态 (1 为草稿  2为提交)
      * @return
      */
     @Column(name = "pro_publish")
@@ -211,6 +212,12 @@ public class Project implements Serializable{
     @Column(name = "pro_population")
     private String population;
 
+    /**
+     * 项目已参与人数
+     */
+    @Column(name = "pro_join_amount")
+    private Long joinAmount;
+
     /**
      * 是否已结束 (1已过期,0未过期)
      * @return
@@ -443,9 +450,9 @@ public class Project implements Serializable{
     }
 
     @SuppressWarnings("deprecation")
-    public Short getOverdue() {
+    public String getOverdue() {
         if (null == startTime || null == endTime) {
-            return 0;
+            return "";
         }
         Date date = new Date();
         Calendar now = Calendar.getInstance();
@@ -460,10 +467,12 @@ public class Project implements Serializable{
         end.set(Calendar.YEAR, endTime.getYear());
         end.set(Calendar.MONTH, endTime.getMonth());
         end.set(Calendar.DAY_OF_MONTH, endTime.getDate());
-        if (now.compareTo(start) > 0 && now.compareTo(end) < 0) {
-            return 0;
-        } else {
-            return 1;
+        if (now.compareTo(start) >=0 && now.compareTo(end) <=0) {
+            return "执行中";
+        } else if(now.compareTo(start)<0){
+            return "筹备中";
+        }else{
+            return "已结束";
         }
     }
 
@@ -494,4 +503,12 @@ public class Project implements Serializable{
     public void setPersonTel(String personTel) {
         this.personTel = personTel;
     }
+
+    public Long getJoinAmount() {
+        return joinAmount;
+    }
+
+    public void setJoinAmount(Long joinAmount) {
+        this.joinAmount = joinAmount;
+    }
 }

+ 11 - 0
donate-service/src/main/java/com/uas/service/donate/service/CarouselService.java

@@ -0,0 +1,11 @@
+package com.uas.service.donate.service;
+
+import com.uas.service.donate.model.Carousel;
+
+import java.util.List;
+
+public interface CarouselService {
+
+    //根据排序顺序正序获取所有轮播图
+    List<Carousel> findAll();
+}

+ 9 - 1
donate-service/src/main/java/com/uas/service/donate/service/ProjectService.java

@@ -17,7 +17,7 @@ public interface ProjectService {
 
     Project save(Project project);
 
-    //查询所有筹备中项目
+    //查询所有执行中项目
     Page<Project> findInProcess(Pageable pageable);
 
     //查询所有已结束的项目
@@ -26,4 +26,12 @@ public interface ProjectService {
     //查询特定领域的项目
     List<Project> findArea(Integer area);
 
+    List<Project> findProjects();
+
+    //查询项目方法
+    List<Project> search(String search);
+
+    //查询项目中所有领域分类
+    List<String> allArea();
+
 }

+ 7 - 1
donate-service/src/main/resources/config/application-dev.properties

@@ -49,4 +49,10 @@ spring.jackson.serialization.indent_output=false
 
 zk.url=zookeeper://10.10.100.11:2181
 dubbo.owner=dev
-dubbo.group=dev
+dubbo.group=dev
+
+#设定ftl文件路径
+spring.freemarker.template-loader-path=classpath:/templates
+#设定静态文件路径,js,css等
+spring.mvc.static-path-pattern=/static/*
+spring.freemarker.cache=false

+ 2 - 2
donate-service/src/main/resources/config/application-test.properties

@@ -40,5 +40,5 @@ sso.login.url=https://account.ubtob.com/sso/login
 
 ## dubbo cofig
 zk.url=zookeeper://10.10.100.11:2181
-dubbo.owner=test
-dubbo.group=test
+dubbo.owner=dev
+dubbo.group=dev