Просмотр исходного кода

1、反馈内容
2、志愿活动
3、我的公益行动

jz.kai 1 год назад
Родитель
Сommit
9aafc03490
16 измененных файлов с 247 добавлено и 4 удалено
  1. 1 0
      common/src/main/java/com/jpsoft/employment/modules/base/dao/ParticipateProjectInfoDAO.java
  2. 3 0
      common/src/main/java/com/jpsoft/employment/modules/base/dao/VolunteerSignRecordDAO.java
  3. 2 0
      common/src/main/java/com/jpsoft/employment/modules/base/entity/ParticipateProjectInfo.java
  4. 2 0
      common/src/main/java/com/jpsoft/employment/modules/base/service/ParticipateProjectInfoService.java
  5. 1 0
      common/src/main/java/com/jpsoft/employment/modules/base/service/VolunteerSignRecordService.java
  6. 6 0
      common/src/main/java/com/jpsoft/employment/modules/base/service/impl/ParticipateProjectInfoServiceImpl.java
  7. 6 0
      common/src/main/java/com/jpsoft/employment/modules/base/service/impl/VolunteerSignRecordServiceImpl.java
  8. 6 3
      common/src/main/resources/mapper/base/LoveProject.xml
  9. 8 0
      common/src/main/resources/mapper/base/ParticipateProjectInfo.xml
  10. 6 0
      common/src/main/resources/mapper/base/VolunteerSignRecord.xml
  11. 3 0
      web/src/main/java/com/jpsoft/employment/config/WebMvcConfig.java
  12. 59 0
      web/src/main/java/com/jpsoft/employment/modules/base/api/AddressApi.java
  13. 30 0
      web/src/main/java/com/jpsoft/employment/modules/base/api/ParticipateApi.java
  14. 3 1
      web/src/main/java/com/jpsoft/employment/modules/base/api/RegUserApi.java
  15. 107 0
      web/src/main/java/com/jpsoft/employment/modules/base/api/VolunteerApi.java
  16. 4 0
      web/src/main/java/com/jpsoft/employment/modules/base/api/WishApi.java

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

@@ -18,4 +18,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<ParticipateProjectInfo> findByIds(@Param(value="regUserId") String regUserId);
 }

+ 3 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dao/VolunteerSignRecordDAO.java

@@ -1,6 +1,8 @@
 package com.jpsoft.employment.modules.base.dao;
 
 import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import com.jpsoft.employment.modules.base.entity.VolunteerSignRecord;
 import java.util.Map;
@@ -15,4 +17,5 @@ public interface VolunteerSignRecordDAO {
 	int delete(String id);
 	List<VolunteerSignRecord> list();
 	List<VolunteerSignRecord> search(Map<String, Object> searchParams, List<Sort> sortList);
+	VolunteerSignRecord getByUser(@Param(value="tasksId") String tasksId, @Param(value="userId") String userId);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/ParticipateProjectInfo.java

@@ -26,9 +26,11 @@ public class ParticipateProjectInfo {
 	
 				@ApiModelProperty(value = "回馈方式ID")
 	private String feedbackId;
+	private FeedbackMethod feedbackMethod;
 	
 				@ApiModelProperty(value = "爱心项目ID")
 	private String loveProjectId;
+	private LoveProject loveProject;
 	
 				@ApiModelProperty(value = "状态(1:进行中,2:完成,3:取消)")
 	private String status;

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

@@ -5,6 +5,7 @@ import java.util.Map;
 import com.jpsoft.employment.modules.base.entity.ParticipateProjectInfo;
 import com.github.pagehelper.Page;
 import com.jpsoft.employment.modules.common.dto.Sort;
+import org.apache.ibatis.annotations.Param;
 
 public interface ParticipateProjectInfoService {
 	ParticipateProjectInfo get(String id);
@@ -15,4 +16,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);
+	List<ParticipateProjectInfo> findByIds(String regUserId);
 }

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

@@ -14,4 +14,5 @@ public interface VolunteerSignRecordService {
 	int delete(String id);
 	List<VolunteerSignRecord> list();
 	Page<VolunteerSignRecord> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+	VolunteerSignRecord getByUser(String tasksId, String userId);
 }

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

@@ -73,4 +73,10 @@ public class ParticipateProjectInfoServiceImpl implements ParticipateProjectInfo
 		// TODO Auto-generated method stub
 		return participateProjectInfoDAO.getByIds(regUserId, feedbackId, loveProjectId);
 	}
+
+	@Override
+	public List<ParticipateProjectInfo> findByIds(String regUserId) {
+		// TODO Auto-generated method stub
+		return participateProjectInfoDAO.findByIds(regUserId);
+	}
 }

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

@@ -67,4 +67,10 @@ public class VolunteerSignRecordServiceImpl implements VolunteerSignRecordServic
         
         return page;
 	}
+
+	@Override
+	public VolunteerSignRecord getByUser(String tasksId, String userId) {
+		// TODO Auto-generated method stub
+		return volunteerSignRecordDAO.getByUser(tasksId, userId);
+	}
 }

+ 6 - 3
common/src/main/resources/mapper/base/LoveProject.xml

@@ -102,10 +102,13 @@
 		select count(*) from base_love_project where id_=#{0}
 	</select>
 	<select id="countByType" parameterType="string" resultType="int">
-		SELECT COUNT(*) FROM base_love_project
-		WHERE del_flag = 0
+		SELECT COUNT(*) FROM SELECT * FROM base_participate_project_info a
+		LEFT JOIN base_love_project b ON a.love_project_id = b.id_
+		WHERE a.del_flag = 0
+		AND b.del_flag = 0
+		AND a.status_ = 2
 		<if test="type != null">
-			AND type_ = #{type}
+			AND b.type_ = #{type}
 		</if>
 	</select>
 	<select id="list" resultMap="LoveProjectMap">

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

@@ -110,6 +110,7 @@
 	<select id="getByIds" parameterType="string" resultMap="ParticipateProjectInfoMap">
 		SELECT * FROM base_participate_project_info
 		WHERE del_flag = 0
+		AND status_ = 1
 		AND reg_user_id = #{regUserId}
 		AND feedback_id = #{feedbackId}
 		AND love_project_id = #{loveProjectId}
@@ -137,4 +138,11 @@
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<select id="findByIds" parameterType="string" resultMap="ParticipateProjectInfoMap">
+		SELECT * FROM base_participate_project_info
+		WHERE del_flag = 0
+		AND reg_user_id = #{regUserId}
+<!--		AND feedback_id = #{feedbackId}-->
+<!--		AND love_project_id = #{loveProjectId}-->
+	</select>
 </mapper>

+ 6 - 0
common/src/main/resources/mapper/base/VolunteerSignRecord.xml

@@ -98,4 +98,10 @@
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<select id="getByUser" parameterType="string" resultMap="VolunteerSignRecordMap">
+		SELECT * FROM base_volunteer_sign_record
+		WHERE del_flag = 0
+		AND volunteer_tasks_id = #{tasksId}
+		AND create_by = #{userId}
+	</select>
 </mapper>

+ 3 - 0
web/src/main/java/com/jpsoft/employment/config/WebMvcConfig.java

@@ -88,6 +88,9 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				.excludePathPatterns("/base/api/wall/list")
 				//留言板
 				.excludePathPatterns("/base/api/board/pubList")
+				//志愿活动
+				.excludePathPatterns("/base/api/volunteer/list")
+				.excludePathPatterns("/base/api/volunteer/detail")
 		;
 	}
 }

+ 59 - 0
web/src/main/java/com/jpsoft/employment/modules/base/api/AddressApi.java

@@ -0,0 +1,59 @@
+package com.jpsoft.employment.modules.base.api;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.AddressInfo;
+import com.jpsoft.employment.modules.base.entity.FeedbackMethod;
+import com.jpsoft.employment.modules.base.entity.LoveProject;
+import com.jpsoft.employment.modules.base.service.*;
+import com.jpsoft.employment.modules.common.dto.MessageResult;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.utils.PojoUtils;
+import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/base/api/address")
+@Api(description = "地址")
+public class AddressApi {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private AddressInfoService addressInfoService;
+
+    @ApiOperation(value="默认发件地址")
+    @RequestMapping(value = "defAddress",method = RequestMethod.POST)
+    public MessageResult defAddress(){
+        MessageResult msgResult = new MessageResult<>();
+
+        try {
+            AddressInfo addressInfo = addressInfoService.get("00000000-0000-0000-0000-000000000000");
+
+            msgResult.setResult(true);
+            msgResult.setData(addressInfo);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+}

+ 30 - 0
web/src/main/java/com/jpsoft/employment/modules/base/api/ParticipateApi.java

@@ -31,8 +31,12 @@ import java.util.*;
 public class ParticipateApi {
     private Logger logger = LoggerFactory.getLogger(getClass());
 
+    @Autowired
+    private LoveProjectService loveProjectService;
     @Autowired
     private ParticipateProjectInfoService participateProjectInfoService;
+    @Autowired
+    private FeedbackMethodService feedbackMethodService;
 
     @ApiOperation(value="详情")
     @RequestMapping(value = "edit",method = RequestMethod.POST)
@@ -107,4 +111,30 @@ public class ParticipateApi {
 
         return msgResult;
     }
+
+    @ApiOperation(value="公益行动")
+    @RequestMapping(value = "myList",method = RequestMethod.POST)
+    public MessageResult myList(HttpServletRequest request){
+        MessageResult msgResult = new MessageResult<>();
+        String subject = (String)request.getAttribute("subject");
+
+        try {
+            List<ParticipateProjectInfo> participateProjectInfoList = participateProjectInfoService.findByIds(subject);
+            for(ParticipateProjectInfo item : participateProjectInfoList){
+                item.setFeedbackMethod(feedbackMethodService.get(item.getFeedbackId()));
+                item.setLoveProject(loveProjectService.get(item.getLoveProjectId()));
+            }
+
+            msgResult.setResult(true);
+            msgResult.setData(participateProjectInfoList);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
 }

+ 3 - 1
web/src/main/java/com/jpsoft/employment/modules/base/api/RegUserApi.java

@@ -150,11 +150,12 @@ public class RegUserApi {
     @ApiOperation(value = "更新个人信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name="nickName", value="昵称", required=false, paramType="query"),
+            @ApiImplicitParam(name="realName", value="真实姓名", required=false, paramType="query"),
             @ApiImplicitParam(name="headImg", value="头像", required=false, paramType="query"),
             @ApiImplicitParam(name="companyName", value="合作单位", required=false, paramType="query"),
             @ApiImplicitParam(name="openId", value="openId", required=true, paramType="query"),
     })
-    public MessageResult updateDetails(String nickName, String headImg, String companyName, String openId) {
+    public MessageResult updateDetails(String nickName, String realName, String headImg, String companyName, String openId) {
         MessageResult messageResult = new MessageResult<>();
 
         try {
@@ -167,6 +168,7 @@ public class RegUserApi {
 
                 if (regUser != null) {
                     regUser.setNickName(nickName);
+                    regUser.setRealName(realName);
                     regUser.setHeadImg(headImg);
                     regUser.setCompanyName(companyName);
                     regUser.setUpdateBy(regUser.getId());

+ 107 - 0
web/src/main/java/com/jpsoft/employment/modules/base/api/VolunteerApi.java

@@ -0,0 +1,107 @@
+package com.jpsoft.employment.modules.base.api;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.MessageBoard;
+import com.jpsoft.employment.modules.base.entity.RegUser;
+import com.jpsoft.employment.modules.base.entity.VolunteerSignRecord;
+import com.jpsoft.employment.modules.base.entity.VolunteerTasks;
+import com.jpsoft.employment.modules.base.service.MessageBoardService;
+import com.jpsoft.employment.modules.base.service.RegUserService;
+import com.jpsoft.employment.modules.base.service.VolunteerSignRecordService;
+import com.jpsoft.employment.modules.base.service.VolunteerTasksService;
+import com.jpsoft.employment.modules.common.dto.MessageResult;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.utils.PojoUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+@RestController
+@RequestMapping("/base/api/volunteer")
+@Api(description = "志愿活动")
+public class VolunteerApi {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private VolunteerTasksService volunteerTasksService;
+    @Autowired
+    private VolunteerSignRecordService volunteerSignRecordService;
+    @Autowired
+    private RegUserService regUserService;
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "list",method = RequestMethod.POST)
+    public MessageResult list(
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize) {
+        MessageResult msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time","desc"));
+
+        Page<VolunteerTasks> page = volunteerTasksService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="详情")
+    @RequestMapping(value = "detail",method = RequestMethod.POST)
+    public MessageResult detail(String id) {
+        MessageResult msgResult = new MessageResult<>();
+
+        VolunteerTasks volunteerTasks = volunteerTasksService.get(id);
+
+        msgResult.setResult(true);
+        msgResult.setData(volunteerTasks);
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="保存")
+    @RequestMapping(value = "save",method = RequestMethod.POST)
+    public MessageResult save(String tasksId, String name, String phone, String remark, HttpServletRequest request) {
+        MessageResult msgResult = new MessageResult<>();
+        String subject = (String)request.getAttribute("subject");
+
+        VolunteerSignRecord volunteerSignRecord = volunteerSignRecordService.getByUser(tasksId,subject);
+        if(volunteerSignRecord == null) {
+            volunteerSignRecord = new VolunteerSignRecord();
+            volunteerSignRecord.setId(UUID.randomUUID().toString());
+            volunteerSignRecord.setName(name);
+            volunteerSignRecord.setPhone(phone);
+            volunteerSignRecord.setBak(remark);
+            volunteerSignRecord.setVolunteerTasksId(tasksId);
+            volunteerSignRecord.setDelFlag(false);
+            volunteerSignRecord.setCreateBy(subject);
+            volunteerSignRecord.setCreateTime(new Date());
+            volunteerSignRecordService.insert(volunteerSignRecord);
+        }
+        else {
+            volunteerSignRecord.setName(name);
+            volunteerSignRecord.setPhone(phone);
+            volunteerSignRecord.setBak(remark);
+            volunteerSignRecord.setUpdateBy(subject);
+            volunteerSignRecord.setUpdateTime(new Date());
+            volunteerSignRecordService.update(volunteerSignRecord);
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(volunteerSignRecord);
+
+        return msgResult;
+    }
+}

+ 4 - 0
web/src/main/java/com/jpsoft/employment/modules/base/api/WishApi.java

@@ -208,6 +208,10 @@ public class WishApi {
         try {
             AddressInfo addressInfo = addressInfoService.get("00000000-0000-0000-0000-000000000000");
 
+            WishInfo wishInfo = wishInfoService.get(wishInfoId);
+            wishInfo.setAmount(wishInfo.getAmount() - 1);
+            wishInfoService.update(wishInfo);
+
             WishInfoUserRecord wishInfoUserRecord = new WishInfoUserRecord();
             wishInfoUserRecord.setId(UUID.randomUUID().toString());
             wishInfoUserRecord.setRegUserId(subject);