Browse Source

志愿者相关

origin/dept_screen
Jackwang 4 years ago
parent
commit
533b31f2df
  1. 44
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiVolunteerRankController.java
  2. 34
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/AppVolunteerRankFeignClient.java
  3. 17
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/AppVolunteerRankFeignClientFallback.java
  4. 28
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/AppVolunteerRankService.java
  5. 64
      epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/AppVolunteerRankServiceImpl.java

44
epdc-cloud-api/src/main/java/com/elink/esua/epdc/controller/ApiVolunteerRankController.java

@ -1,14 +1,16 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.annotation.LoginUser;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.result.EpdcAppVolunteerRankDTO;
import com.elink.esua.epdc.service.AppVolunteerRankService;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.EpdcVolunteerRankDTO;
import com.elink.esua.epdc.volunteer.VolunteerOrgDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -39,4 +41,40 @@ public class ApiVolunteerRankController {
}
/**
* @describe: 小程序-组织列表
* @author wangtong
* @date 2021/8/30 9:49
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.volunteer.VolunteerOrgDTO>>
*/
@GetMapping("getAppVolunteerOrgList")
public Result<List<VolunteerOrgDTO>> getAppVolunteerOrgList(){
return appVolunteerRankService.getAppVolunteerOrgList();
}
/**
* @describe: 小程序-志愿者申请
* @author wangtong
* @date 2021/8/30 10:43
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping("applyVolunteer")
public Result applyVolunteer(@LoginUser TokenDto userDetail, @RequestBody AppVolunteerApplyDTO formDto) {
return appVolunteerRankService.applyVolunteer(userDetail, formDto);
}
/**
* @describe: 小程序-志愿者详情
* @author wangtong
* @date 2021/8/30 11:00
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("getVolunteerDetail")
public Result getVolunteerDetail(@LoginUser TokenDto userDetail) {
return appVolunteerRankService.getVolunteerDetail(userDetail);
}
}

34
epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/AppVolunteerRankFeignClient.java

@ -3,9 +3,13 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.AppVolunteerRankFeignClientFallback;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.EpdcVolunteerRankDTO;
import com.elink.esua.epdc.volunteer.VolunteerOrgDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@ -25,4 +29,34 @@ public interface AppVolunteerRankFeignClient {
*/
@GetMapping("heart/volunteer/leaderboard")
Result<List<EpdcVolunteerRankDTO>> leaderboard();
/**
* @describe: 小程序-组织列表
* @author wangtong
* @date 2021/8/30 9:49
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.volunteer.VolunteerOrgDTO>>
*/
@GetMapping("heart/volunteerorg/getAppVolunteerOrgList")
Result<List<VolunteerOrgDTO>> getAppVolunteerOrgList();
/**
* @describe: 小程序-志愿者申请
* @author wangtong
* @date 2021/8/30 10:43
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping(value = "heart/volunteer/getAppVolunteerOrgList", consumes = MediaType.APPLICATION_JSON_VALUE)
Result applyVolunteer(AppVolunteerApplyDTO formDto);
/**
* @describe: 小程序-志愿者详情
* @author wangtong
* @date 2021/8/30 11:07
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping(value = "heart/volunteer/getAppVolunteerOrgList", consumes = MediaType.APPLICATION_JSON_VALUE)
Result getVolunteerDetail(AppVolunteerApplyDTO formDto);
}

17
epdc-cloud-api/src/main/java/com/elink/esua/epdc/feign/fallback/AppVolunteerRankFeignClientFallback.java

@ -4,7 +4,9 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.AppVolunteerRankFeignClient;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.EpdcVolunteerRankDTO;
import com.elink.esua.epdc.volunteer.VolunteerOrgDTO;
import org.springframework.stereotype.Component;
import java.util.List;
@ -21,5 +23,20 @@ public class AppVolunteerRankFeignClientFallback implements AppVolunteerRankFeig
return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "leaderboard");
}
@Override
public Result<List<VolunteerOrgDTO>> getAppVolunteerOrgList() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "getAppVolunteerOrgList");
}
@Override
public Result applyVolunteer(AppVolunteerApplyDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "applyVolunteer",formDto);
}
@Override
public Result getVolunteerDetail(AppVolunteerApplyDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_HEART_SERVER, "getVolunteerDetail",formDto);
}
}

28
epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/AppVolunteerRankService.java

@ -1,7 +1,10 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.EpdcVolunteerRankDTO;
import com.elink.esua.epdc.volunteer.VolunteerOrgDTO;
import java.util.List;
@ -18,5 +21,30 @@ public interface AppVolunteerRankService {
*/
Result<List<EpdcVolunteerRankDTO>> leaderboard();
/**
* @describe: 小程序-组织列表
* @author wangtong
* @date 2021/8/30 9:49
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.volunteer.VolunteerOrgDTO>>
*/
Result<List<VolunteerOrgDTO>> getAppVolunteerOrgList();
/**
* @describe: 小程序-志愿者申请
* @author wangtong
* @date 2021/8/30 10:43
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result applyVolunteer(TokenDto userDetail, AppVolunteerApplyDTO formDto);
/**
* @describe: 小程序-志愿者详情
* @author wangtong
* @date 2021/8/30 11:00
* @params [userDetail]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result getVolunteerDetail(TokenDto userDetail);
}

64
epdc-cloud-api/src/main/java/com/elink/esua/epdc/service/impl/AppVolunteerRankServiceImpl.java

@ -1,9 +1,16 @@
package com.elink.esua.epdc.service.impl;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.UserTagInfo;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.AppVolunteerRankFeignClient;
import com.elink.esua.epdc.service.AppVolunteerRankService;
import com.elink.esua.epdc.volunteer.AppVolunteerApplyDTO;
import com.elink.esua.epdc.volunteer.EpdcVolunteerRankDTO;
import com.elink.esua.epdc.volunteer.VolunteerOrgDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -22,10 +29,14 @@ public class AppVolunteerRankServiceImpl implements AppVolunteerRankService {
@Autowired
private AppVolunteerRankFeignClient appVolunteerRankFeignClient;
@Autowired
private AdminFeignClient adminFeignClient;
/**
* 获取排行榜
* @Author wanggongfeng
*
* @return
* @Author wanggongfeng
*/
@Override
public Result<List<EpdcVolunteerRankDTO>> leaderboard() {
@ -33,4 +44,55 @@ public class AppVolunteerRankServiceImpl implements AppVolunteerRankService {
return dataResult;
}
@Override
public Result<List<VolunteerOrgDTO>> getAppVolunteerOrgList() {
return appVolunteerRankFeignClient.getAppVolunteerOrgList();
}
@Override
public Result applyVolunteer(TokenDto userDetail, AppVolunteerApplyDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
//获取所有上级机构名称和ID拼接
Result<ParentAndAllDeptDTO> dtoResult = adminFeignClient.getParentAndAllDept(userDetail.getGridId());
ParentAndAllDeptDTO deptDTO = dtoResult.getData();
// 父所有部门
formDto.setParentDeptIds(deptDTO.getParentDeptIds());
formDto.setParentDeptNames(deptDTO.getParentDeptNames());
// 所有部门
formDto.setAllDeptIds(deptDTO.getAllDeptIds());
formDto.setAllDeptNames(deptDTO.getAllDeptNames());
// 网格
formDto.setDept(deptDTO.getGrid());
formDto.setDeptId(deptDTO.getGridId());
formDto.setUserId(userDetail.getUserId());
formDto.setFaceImg(userDetail.getFaceImg());
//判断党员标识
if (!CollectionUtils.isEmpty(userDetail.getUserTagInfos())) {
Boolean flag = false;
for (UserTagInfo ut : userDetail.getUserTagInfos()) {
if ("partymember".equals(ut.getTagCode())) {
flag = true;
break;
}
}
formDto.setPartyFlag(flag == true ? 1 : 0);
} else {
formDto.setPartyFlag(0);
}
return appVolunteerRankFeignClient.applyVolunteer(formDto);
}
@Override
public Result getVolunteerDetail(TokenDto userDetail) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
AppVolunteerApplyDTO formDto = new AppVolunteerApplyDTO();
formDto.setUserId(userDetail.getUserId());
return appVolunteerRankFeignClient.getVolunteerDetail(formDto);
}
}

Loading…
Cancel
Save