瀏覽代碼

志愿行动

jz.kai 1 年之前
父節點
當前提交
5be61d8c0a

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dao/ParticipateProjectInfoDAO.java

@@ -2,6 +2,7 @@ package com.jpsoft.employment.modules.base.dao;
 
 import java.util.List;
 
+import com.jpsoft.employment.modules.base.dto.TasksAndProjectsDTO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import com.jpsoft.employment.modules.base.entity.ParticipateProjectInfo;
@@ -18,4 +19,5 @@ public interface ParticipateProjectInfoDAO {
 	List<ParticipateProjectInfo> list();
 	List<ParticipateProjectInfo> search(Map<String, Object> searchParams, List<Sort> sortList);
 	ParticipateProjectInfo getByIds(@Param(value="regUserId") String regUserId, @Param(value="feedbackId") String feedbackId, @Param(value="loveProjectId") String loveProjectId);
+	List<TasksAndProjectsDTO> searchTasksAndProjects(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 1 - 1
common/src/main/java/com/jpsoft/employment/modules/base/dao/WishInfoUserRecordDAO.java

@@ -20,5 +20,5 @@ public interface WishInfoUserRecordDAO {
 	int countByWish(String wishInfoId);
 	int countByWishAndStatus(@Param("wishInfoId")String wishInfoId, @Param("status")String status);
 	String getLastSerialNumber(String date);
-	int countByUser(@Param(value="regUserId") String regUserId);
+	List<WishInfoUserRecord> findByUser(@Param(value="regUserId") String regUserId);
 }

+ 29 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dto/TasksAndProjectsDTO.java

@@ -0,0 +1,29 @@
+package com.jpsoft.employment.modules.base.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+@Data
+public class TasksAndProjectsDTO {
+    @ApiModelProperty(value = "标题")
+    private String title;
+
+    @ApiModelProperty(value = "简述")
+    private String secondTitle;
+
+    @ApiModelProperty(value = "图片")
+    private String image;
+
+    @ApiModelProperty(value = "创建时间")
+    private String tag;
+
+    @ApiModelProperty(value = "创建时间")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+    private String createTime;
+
+    @ApiModelProperty(value = "状态")
+    private String status;
+}

+ 3 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/ParticipateProjectInfoService.java

@@ -2,6 +2,8 @@ package com.jpsoft.employment.modules.base.service;
 
 import java.util.List;
 import java.util.Map;
+
+import com.jpsoft.employment.modules.base.dto.TasksAndProjectsDTO;
 import com.jpsoft.employment.modules.base.entity.ParticipateProjectInfo;
 import com.github.pagehelper.Page;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -16,4 +18,5 @@ public interface ParticipateProjectInfoService {
 	List<ParticipateProjectInfo> list();
 	Page<ParticipateProjectInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 	ParticipateProjectInfo getByIds(String regUserId, String feedbackId, String loveProjectId);
+	Page<TasksAndProjectsDTO> pageSearchTasksAndProjects(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 }

+ 1 - 1
common/src/main/java/com/jpsoft/employment/modules/base/service/WishInfoUserRecordService.java

@@ -17,5 +17,5 @@ public interface WishInfoUserRecordService {
 	int countByWish(String wishInfoId);
 	int countByWishAndStatus(String wishInfoId,String status);
 	String getLastSerialNumber(String date);
-	int countByUser(String regUserId);
+	List<WishInfoUserRecord> findByUser(String regUserId);
 }

+ 11 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/impl/ParticipateProjectInfoServiceImpl.java

@@ -4,6 +4,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import javax.annotation.Resource;
+
+import com.jpsoft.employment.modules.base.dto.TasksAndProjectsDTO;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import com.jpsoft.employment.modules.base.dao.ParticipateProjectInfoDAO;
@@ -73,4 +75,13 @@ public class ParticipateProjectInfoServiceImpl implements ParticipateProjectInfo
 		// TODO Auto-generated method stub
 		return participateProjectInfoDAO.getByIds(regUserId, feedbackId, loveProjectId);
 	}
+
+	@Override
+	public Page<TasksAndProjectsDTO> pageSearchTasksAndProjects(Map<String, Object> searchParams, int pageNumber, int pageSize, boolean count, List<Sort> sortList) {
+		Page<TasksAndProjectsDTO> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+			participateProjectInfoDAO.searchTasksAndProjects(searchParams,sortList);
+		});
+
+		return page;
+	}
 }

+ 2 - 2
common/src/main/java/com/jpsoft/employment/modules/base/service/impl/WishInfoUserRecordServiceImpl.java

@@ -84,7 +84,7 @@ public class WishInfoUserRecordServiceImpl implements WishInfoUserRecordService
 	}
 
 	@Override
-	public int countByUser(String regUserId) {
-		return wishInfoUserRecordDAO.countByUser(regUserId);
+	public List<WishInfoUserRecord> findByUser(String regUserId) {
+		return wishInfoUserRecordDAO.findByUser(regUserId);
 	}
 }

+ 32 - 0
common/src/main/resources/mapper/base/ParticipateProjectInfo.xml

@@ -141,4 +141,36 @@
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<resultMap id="TasksAndProjectsMap" type="com.jpsoft.employment.modules.base.dto.TasksAndProjectsDTO">
+		<result property="title" column="title_" />
+		<result property="secondTitle" column="second_title" />
+		<result property="image" column="image_" />
+		<result property="tag" column="tag_" />
+		<result property="createTime" column="create_time" />
+		<result property="status" column="status_" />
+	</resultMap>
+	<select id="searchTasksAndProjects" parameterType="hashmap" resultMap="TasksAndProjectsMap">
+		SELECT * FROM
+		(
+		SELECT b.title_, b.second_title, b.image_,c.name_ AS tag_, a.create_time, a.status_, a.reg_user_id FROM base_participate_project_info a
+		LEFT JOIN base_love_project b ON a.love_project_id = b.id_
+		LEFT JOIN base_feedback_method c ON a.feedback_id = c.id_
+		WHERE a.del_flag = 0 AND b.del_flag = 0
+		UNION ALL
+		SELECT b.volunteer_requirements AS title_, b.introduce_ AS second_title, NULL AS image_, NULL AS tag_, a.create_time, a.status_, a.create_by AS reg_user_id FROM base_volunteer_sign_record a
+		LEFT JOIN base_volunteer_tasks b ON a.volunteer_tasks_id = b.id_
+		WHERE a.del_flag = 0 AND b.del_flag = 0
+		) t
+		<where>
+			<if test="searchParams.regUserId != null">
+				and reg_user_id = #{searchParams.regUserId}
+			</if>
+			<if test="searchParams.status != null">
+				and status_ = #{searchParams.status}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+			${sort.name} ${sort.order}
+		</foreach>
+	</select>
 </mapper>

+ 2 - 2
common/src/main/resources/mapper/base/WishInfoUserRecord.xml

@@ -152,8 +152,8 @@
 		AND status_= #{status}
 		AND wish_info_id = #{wishInfoId}
 	</select>
-	<select id="countByUser" parameterType="string" resultType="int">
-		SELECT COUNT(*) FROM base_wish_info_user_record
+	<select id="findByUser" parameterType="string" resultMap="WishInfoUserRecordMap">
+		SELECT * FROM base_wish_info_user_record
 		WHERE del_flag = 0
 		AND status_ = 1
 		<if test="regUserId != null">

+ 34 - 9
web/src/main/java/com/jpsoft/employment/modules/base/api/ChartApi.java

@@ -1,9 +1,11 @@
 package com.jpsoft.employment.modules.base.api;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.dto.TasksAndProjectsDTO;
 import com.jpsoft.employment.modules.base.entity.FeedbackMethod;
 import com.jpsoft.employment.modules.base.entity.LoveProject;
 import com.jpsoft.employment.modules.base.entity.ParticipateProjectInfo;
+import com.jpsoft.employment.modules.base.entity.WishInfoUserRecord;
 import com.jpsoft.employment.modules.base.service.*;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -44,7 +46,7 @@ public class ChartApi {
         MessageResult msgResult = new MessageResult<>();
         Map<String,Object> map = new HashMap<>();
 
-        map.put("countXYHH", wishInfoUserRecordService.countByUser(null));
+        map.put("countXYHH", wishInfoUserRecordService.findByUser(null).size());
         map.put("countXMHD", loveProjectService.countByType("1"));
         map.put("countAXHZ", loveProjectService.countByType("2"));
         map.put("countZYHX", loveProjectService.countByType("4"));
@@ -58,29 +60,52 @@ public class ChartApi {
 
     @ApiOperation(value="我的数据统计")
     @RequestMapping(value = "dataMyTotal",method = RequestMethod.POST)
-    public MessageResult dataMyTotal(HttpServletRequest request){
+    public MessageResult dataMyTotal(String status, HttpServletRequest request){
         MessageResult msgResult = new MessageResult<>();
         String subject = (String)request.getAttribute("subject");
         Map<String,Object> map = new HashMap<>();
 
         Map<String,Object> searchParams = new HashMap<>();
         searchParams.put("regUserId",subject);
-        searchParams.put("status","2");
+        if(StringUtils.isNotEmpty(status)){
+            searchParams.put("status",status);
+        }
 
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("create_time","desc"));
 
-        Page<ParticipateProjectInfo> page = participateProjectInfoService.pageSearch(searchParams,1,100,false,sortList);
+        Page<TasksAndProjectsDTO> page = participateProjectInfoService.pageSearchTasksAndProjects(searchParams,1,100,false,sortList);
+        map.put("countGood",page.getResult().size());
 
-        Integer countWishRecord = wishInfoUserRecordService.countByUser(subject);
-        Integer countGood = page.getResult().size();
-
-        map.put("countWishRecord",countWishRecord);
-        map.put("countGood",countGood);
+        List<WishInfoUserRecord> list = wishInfoUserRecordService.findByUser(subject);
+        map.put("countWishRecord",list.size());
 
         msgResult.setResult(true);
         msgResult.setData(map);
 
         return msgResult;
     }
+
+    @ApiOperation(value="志愿行动列表")
+    @RequestMapping(value = "listZYXD",method = RequestMethod.POST)
+    public MessageResult listZYXD(String status, HttpServletRequest request){
+        MessageResult msgResult = new MessageResult<>();
+        String subject = (String)request.getAttribute("subject");
+
+        Map<String,Object> searchParams = new HashMap<>();
+        searchParams.put("regUserId",subject);
+        if(StringUtils.isNotEmpty(status)){
+            searchParams.put("status",status);
+        }
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time","desc"));
+
+        Page<TasksAndProjectsDTO> page = participateProjectInfoService.pageSearchTasksAndProjects(searchParams,1,100,false,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(page.getResult());
+
+        return msgResult;
+    }
 }