Browse Source

删除添加判断逻辑

ftature/screen
Jackwang 4 years ago
parent
commit
118d372d58
  1. 1
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppVolunteerRankServiceImpl.java
  2. 9
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java
  3. 10
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java
  4. 5
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java
  5. 34
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/volunteer/service/impl/VolunteerTeamServiceImpl.java
  6. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
  7. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VlounteerTeamRealationController.java
  8. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VlounteerTeamRealationDao.java
  9. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VlounteerTeamRealationService.java
  10. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VlounteerTeamRealationServiceImpl.java
  11. 6
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VlounteerTeamRealationDao.xml

1
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppVolunteerRankServiceImpl.java

@ -136,6 +136,7 @@ public class AppVolunteerRankServiceImpl implements AppVolunteerRankService {
@Override
public Result joinTeam(VolunteerTeamFormDTO dto) {
log.info("joinTeam-dto:"+dto);
return userFeignClient.joinTeam(dto);
}

9
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/dao/ActInfoDao.java

@ -160,4 +160,13 @@ public interface ActInfoDao extends BaseDao<ActInfoEntity> {
* @return void
**/
void updateActTopFlagById(ActTopFormDTO formDto);
/**
* @describe: 通过teamId获取活动信息
* @author wangtong
* @date 2021/11/24 15:26
* @params [teamId]
* @return java.util.List<com.elink.esua.epdc.modules.activity.entity.ActInfoEntity>
*/
List<ActInfoEntity> selectByTeamId(@Param("teamId") String teamId);
}

10
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/UserInfoFeignClient.java

@ -121,4 +121,14 @@ public interface UserInfoFeignClient {
*/
@PostMapping(value = "app-user/vlounteerteamrealation/getVolunteerWithTeamState", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<VolunteerDetailResultDTO> getVolunteerWithTeamState(VolunteerUnionFormDTO dto);
/**
* @describe: 通过teamId查询志愿者
* @author wangtong
* @date 2021/11/24 15:35
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.VolunteerInfoDTO>
*/
@PostMapping(value = "app-user/vlounteerteamrealation/selectVolunteerByTeamId", consumes = MediaType.APPLICATION_JSON_VALUE)
Result selectVolunteerByTeamId(VolunteerUnionFormDTO dto);
}

5
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserInfoFeignClientFallback.java

@ -68,4 +68,9 @@ public class UserInfoFeignClientFallback implements UserInfoFeignClient {
public Result<VolunteerDetailResultDTO> getVolunteerWithTeamState(VolunteerUnionFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getVolunteerWithTeamState", dto);
}
@Override
public Result selectVolunteerByTeamId(VolunteerUnionFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "selectVolunteerByTeamId", dto);
}
}

34
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/volunteer/service/impl/VolunteerTeamServiceImpl.java

@ -17,6 +17,7 @@
package com.elink.esua.epdc.modules.volunteer.service.impl;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
@ -27,7 +28,10 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.VolunteerDetailResultDTO;
import com.elink.esua.epdc.dto.VolunteerInfoDTO;
import com.elink.esua.epdc.dto.VolunteerUnionFormDTO;
import com.elink.esua.epdc.modules.activity.dao.ActInfoDao;
import com.elink.esua.epdc.modules.activity.entity.ActInfoEntity;
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient;
import com.elink.esua.epdc.modules.volunteer.dao.VolunteerTeamDao;
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerTeamEntity;
@ -60,6 +64,9 @@ public class VolunteerTeamServiceImpl extends BaseServiceImpl<VolunteerTeamDao,
@Autowired
private UserInfoFeignClient userInfoFeignClient;
@Autowired
private ActInfoDao actInfoDao;
@Override
public PageData<VolunteerTeamDTO> page(Map<String, Object> params) {
IPage<VolunteerTeamEntity> page = baseDao.selectPage(
@ -97,11 +104,12 @@ public class VolunteerTeamServiceImpl extends BaseServiceImpl<VolunteerTeamDao,
Result<VolunteerDetailResultDTO> volunteerResult = userInfoFeignClient.getVolunteerWithTeamState(dto);
if (!volunteerResult.success() || volunteerResult.getData() == null) {
throw new RenException("获取志愿者信息失败");
result.setJoinFlag(false);
}else{
VolunteerDetailResultDTO volunteerDTO = volunteerResult.getData();
result.setJoinFlag(volunteerDTO.getJoinFlag());
result.setVolunteerId(volunteerDTO.getVolunteerId());
}
VolunteerDetailResultDTO volunteerDTO = volunteerResult.getData();
result.setJoinFlag(volunteerDTO.getJoinFlag());
result.setVolunteerId(volunteerDTO.getVolunteerId());
return new Result().ok(result);
}
@ -144,6 +152,24 @@ public class VolunteerTeamServiceImpl extends BaseServiceImpl<VolunteerTeamDao,
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
for(String id : ids){
//检测是否关联活动
List<ActInfoEntity> actList = actInfoDao.selectByTeamId(id);
if(!CollectionUtils.isEmpty(actList)){
throw new RenException("该团队已关联活动,暂时不可删除");
}
//检测是否有团队成员
VolunteerUnionFormDTO dto = new VolunteerUnionFormDTO();
dto.setId(id);
Result<List<VolunteerInfoDTO>> volunteerList = userInfoFeignClient.selectVolunteerByTeamId(dto);
if (!volunteerList.success() ) {
throw new RenException("获取团队成员信息有误,请稍后再试");
}
List<VolunteerInfoDTO> vList = volunteerList.getData();
if(!CollectionUtils.isEmpty(vList)){
throw new RenException("该团队已关联团队成员,暂时不可删除");
}
}
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}

4
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml

@ -604,4 +604,8 @@
ORDER BY t.SIGNIN_START_TIME DESC
LIMIT #{pageIndex}, #{pageSize}
</select>
<select id="selectByTeamId" resultType="com.elink.esua.epdc.modules.activity.entity.ActInfoEntity">
select * from epdc_act_info where TEAM_ID=#{teamId}
AND DEL_FLAG='0'
</select>
</mapper>

17
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VlounteerTeamRealationController.java

@ -127,6 +127,9 @@ public class VlounteerTeamRealationController {
@GetMapping("getTeamVolunteerList")
public Result<List<TeamVolunteerListDTO>> getTeamVolunteerList(@RequestBody VolunteerTeamFormDTO dto) {
List<TeamVolunteerListDTO> page = vlounteerTeamRealationService.getTeamVolunteerList(dto);
if( page == null){
return new Result<>();
}
return new Result<List<TeamVolunteerListDTO>>().ok(page);
}
@ -141,4 +144,18 @@ public class VlounteerTeamRealationController {
public Result joinTeam(@RequestBody VolunteerTeamFormDTO dto) {
return vlounteerTeamRealationService.joinTeam(dto);
}
/**
* @describe: 通过teamId查询志愿者
* @author wangtong
* @date 2021/11/24 15:37
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@PostMapping("selectVolunteerByTeamId")
public Result selectVolunteerByTeamId(@RequestBody VolunteerUnionFormDTO dto) {
return vlounteerTeamRealationService.selectVolunteerByTeamId(dto);
}
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VlounteerTeamRealationDao.java

@ -82,4 +82,13 @@ public interface VlounteerTeamRealationDao extends BaseDao<VlounteerTeamRealatio
* @return void
*/
void deleteByVolunteerId(@Param("volunteerId") String volunteerId);
/**
* @describe: 通过teamId查询志愿者
* @author wangtong
* @date 2021/11/24 15:37
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
List<VolunteerInfoDTO> selectVolunteerByTeamId(VolunteerUnionFormDTO dto);
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VlounteerTeamRealationService.java

@ -131,4 +131,13 @@ public interface VlounteerTeamRealationService extends BaseService<VlounteerTeam
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result joinTeam(VolunteerTeamFormDTO dto);
/**
* @describe: 通过teamId查询志愿者
* @author wangtong
* @date 2021/11/24 15:37
* @params [dto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result selectVolunteerByTeamId(VolunteerUnionFormDTO dto);
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VlounteerTeamRealationServiceImpl.java

@ -94,10 +94,12 @@ public class VlounteerTeamRealationServiceImpl extends BaseServiceImpl<Vlounteer
@Override
public Result joinTeam(VolunteerTeamFormDTO dto) {
log.info("joinTeam-dto:"+dto);
VlounteerTeamRealationEntity checkFlag = baseDao.selectByTeamIdAngVolunteerId(dto);
if(checkFlag != null){
return new Result().error("此志愿者已加入该团队");
}
baseDao.deleteByVolunteerId(dto.getVolunteerId());
VlounteerTeamRealationEntity entity = new VlounteerTeamRealationEntity();
entity.setTeamId(dto.getTeamId());
entity.setVolunteerId(dto.getVolunteerId());
@ -105,6 +107,12 @@ public class VlounteerTeamRealationServiceImpl extends BaseServiceImpl<Vlounteer
return new Result();
}
@Override
public Result selectVolunteerByTeamId(VolunteerUnionFormDTO dto) {
List<VolunteerInfoDTO> volunteerList = baseDao.selectVolunteerByTeamId(dto);
return new Result().ok(volunteerList);
}
@Override
public List<VlounteerTeamRealationDTO> list(Map<String, Object> params) {
List<VlounteerTeamRealationEntity> entityList = baseDao.selectList(getWrapper(params));

6
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VlounteerTeamRealationDao.xml

@ -47,6 +47,7 @@
FROM `epdc_volunteer_info` v
left join epdc_vlounteer_team_realation r on r.VOLUNTEER_ID=v.id
and r.TEAM_ID=#{id}
and r.DEL_FLAG='0'
where v.DEL_FLAG='0'
and USER_ID = #{userId}
</select>
@ -60,6 +61,7 @@
left join epdc_volunteer_info vi on vi.id=re.VOLUNTEER_ID and vi.DEL_FLAG='0'
left join epdc_user u on vi.USER_ID=u.id and u.DEL_FLAG='0'
where re.TEAM_ID=#{id}
and re.DEL_FLAG='0'
</select>
<select id="selectByTeamIdAngVolunteerId" resultType="com.elink.esua.epdc.entity.VlounteerTeamRealationEntity">
select *
@ -72,6 +74,10 @@
update epdc_vlounteer_team_realation set DEL_FLAG='1',UPDATED_TIME = now()
where VOLUNTEER_ID=#{volunteerId}
</update>
<select id="selectVolunteerByTeamId" resultType="com.elink.esua.epdc.dto.VolunteerInfoDTO">
select * from epdc_vlounteer_team_realation where TEAM_ID=#{id}
AND DEL_FLAG='0'
</select>
</mapper>

Loading…
Cancel
Save