|
|
@ -17,6 +17,7 @@ |
|
|
|
|
|
|
|
package com.elink.esua.epdc.modules.volunteer.service.impl; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
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; |
|
|
@ -25,8 +26,12 @@ import com.elink.esua.epdc.commons.tools.exception.RenException; |
|
|
|
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.UserDTO; |
|
|
|
import com.elink.esua.epdc.modules.feign.UserInfoFeignClient; |
|
|
|
import com.elink.esua.epdc.modules.volunteer.dao.VolunteerOrgDao; |
|
|
|
import com.elink.esua.epdc.modules.volunteer.dao.VolunteerOrgRelationDao; |
|
|
|
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerOrgEntity; |
|
|
|
import com.elink.esua.epdc.modules.volunteer.entity.VolunteerOrgRelationEntity; |
|
|
|
import com.elink.esua.epdc.modules.volunteer.redis.VolunteerOrgRedis; |
|
|
|
import com.elink.esua.epdc.modules.volunteer.service.VolunteerOrgService; |
|
|
|
import com.elink.esua.epdc.volunteer.VolunteerOrgDTO; |
|
|
@ -51,6 +56,12 @@ public class VolunteerOrgServiceImpl extends BaseServiceImpl<VolunteerOrgDao, Vo |
|
|
|
@Autowired |
|
|
|
private VolunteerOrgRedis volunteerOrgRedis; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private UserInfoFeignClient userInfoFeignClient; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private VolunteerOrgRelationDao volunteerOrgRelationDao; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<VolunteerOrgDTO> page(Map<String, Object> params) { |
|
|
|
// IPage<VolunteerOrgEntity> page = baseDao.selectPage(
|
|
|
@ -88,24 +99,45 @@ public class VolunteerOrgServiceImpl extends BaseServiceImpl<VolunteerOrgDao, Vo |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(VolunteerOrgDTO dto) { |
|
|
|
public Result save(VolunteerOrgDTO dto) { |
|
|
|
VolunteerOrgEntity isHave = baseDao.selectByName(dto.getVolunteerOrgName(),null); |
|
|
|
if(isHave != null){ |
|
|
|
throw new RenException("已存在此组织名称,请更换后重试"); |
|
|
|
} |
|
|
|
VolunteerOrgEntity entity = ConvertUtils.sourceToTarget(dto, VolunteerOrgEntity.class); |
|
|
|
insert(entity); |
|
|
|
return setAdminUserForOrg(dto,entity.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
private Result setAdminUserForOrg(VolunteerOrgDTO dto,Long orgId){ |
|
|
|
Result userResult = userInfoFeignClient.getUserByMobile(dto.getMobile()); |
|
|
|
if (!userResult.success()) { |
|
|
|
throw new RenException("获取用户信息失败"); |
|
|
|
} else if (userResult.getData() == null){ |
|
|
|
return new Result().ok("管理员手机号未关联到居民端用户,请检查管理员手机号或提醒该手机号用户在居民端注册。"); |
|
|
|
}else{ |
|
|
|
VolunteerOrgRelationEntity relationEntity = new VolunteerOrgRelationEntity(); |
|
|
|
UserDTO userInfo = JSONObject.parseObject(userResult.getData().toString(), UserDTO.class); |
|
|
|
relationEntity.setVolunteerId(userInfo.getId()); |
|
|
|
relationEntity.setVolunteerOrgId(orgId); |
|
|
|
relationEntity.setAdminFlag(1); |
|
|
|
volunteerOrgRelationDao.insert(relationEntity); |
|
|
|
return new Result().ok("管理员手机号已成功关联居民端用户,该手机号居民端用户已被设置为该组织管理员。"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void update(VolunteerOrgDTO dto) { |
|
|
|
public Result update(VolunteerOrgDTO dto) { |
|
|
|
VolunteerOrgEntity isHave = baseDao.selectByName(dto.getVolunteerOrgName(),dto.getId()); |
|
|
|
if(isHave != null){ |
|
|
|
throw new RenException("已存在此组织名称,请更换后重试"); |
|
|
|
} |
|
|
|
VolunteerOrgEntity entity = ConvertUtils.sourceToTarget(dto, VolunteerOrgEntity.class); |
|
|
|
updateById(entity); |
|
|
|
//删除原先的管理员,重新设置
|
|
|
|
volunteerOrgRelationDao.deleteAdminUserForOrg(entity.getId()); |
|
|
|
return setAdminUserForOrg(dto,entity.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|