|
@ -27,15 +27,19 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.dao.SpecialSubjectDao; |
|
|
import com.epmet.dao.SpecialSubjectDao; |
|
|
import com.epmet.dto.SpecialSubjectDTO; |
|
|
import com.epmet.dto.SpecialSubjectDTO; |
|
|
import com.epmet.dto.TagCustomerDTO; |
|
|
import com.epmet.dto.TagCustomerDTO; |
|
|
import com.epmet.dto.form.AddSpecialSubjectFormDTO; |
|
|
import com.epmet.dto.form.AddSpecialSubjectFormDTO; |
|
|
import com.epmet.dto.form.DelSpecialSubjectFormDTO; |
|
|
import com.epmet.dto.form.DelSpecialSubjectFormDTO; |
|
|
import com.epmet.dto.form.QuerySpecialSubFormDTO; |
|
|
import com.epmet.dto.form.QuerySpecialSubFormDTO; |
|
|
|
|
|
import com.epmet.dto.form.StaffInfoFromDTO; |
|
|
import com.epmet.dto.result.AddSpecialSubjectResultDTO; |
|
|
import com.epmet.dto.result.AddSpecialSubjectResultDTO; |
|
|
|
|
|
import com.epmet.dto.result.MineResultDTO; |
|
|
import com.epmet.dto.result.WorkSpecialSubjectResultDTO; |
|
|
import com.epmet.dto.result.WorkSpecialSubjectResultDTO; |
|
|
import com.epmet.entity.SpecialSubjectEntity; |
|
|
import com.epmet.entity.SpecialSubjectEntity; |
|
|
|
|
|
import com.epmet.feign.GovOrgOpenFeignClient; |
|
|
import com.epmet.service.SpecialSubjectService; |
|
|
import com.epmet.service.SpecialSubjectService; |
|
|
import com.epmet.service.TagCustomerService; |
|
|
import com.epmet.service.TagCustomerService; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
@ -62,6 +66,9 @@ import java.util.stream.Collectors; |
|
|
public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService { |
|
|
public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private TagCustomerService tagCustomerService; |
|
|
private TagCustomerService tagCustomerService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private GovOrgOpenFeignClient govOrgOpenFeignClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageData<SpecialSubjectDTO> page(Map<String, Object> params) { |
|
|
public PageData<SpecialSubjectDTO> page(Map<String, Object> params) { |
|
@ -131,13 +138,26 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao |
|
|
throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg()); |
|
|
throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg()); |
|
|
} |
|
|
} |
|
|
//2、校验当前组织是否添加过此专题
|
|
|
//2、校验当前组织是否添加过此专题
|
|
|
SpecialSubjectEntity havedEntity = baseDao.selectByOrgIdAndTagId(formDTO.getOrgId(), formDTO.getTagId()); |
|
|
QuerySpecialSubFormDTO querySpecialSubFormDTO=new QuerySpecialSubFormDTO(); |
|
|
if (null != havedEntity) { |
|
|
querySpecialSubFormDTO.setOrgId(formDTO.getOrgId()); |
|
|
throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg()); |
|
|
querySpecialSubFormDTO.setPids(formDTO.getPids()); |
|
|
} |
|
|
List<WorkSpecialSubjectResultDTO> havedList=this.queryExistedList(querySpecialSubFormDTO); |
|
|
|
|
|
List<String> haveTagIds=havedList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList()); |
|
|
|
|
|
haveTagIds.forEach(tagId->{ |
|
|
|
|
|
if(tagId.equals(formDTO.getTagId())){ |
|
|
|
|
|
throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg()); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
// 3、保存
|
|
|
// 3、保存
|
|
|
SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class); |
|
|
SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class); |
|
|
|
|
|
StaffInfoFromDTO staffInfoFromDTO = new StaffInfoFromDTO(); |
|
|
|
|
|
staffInfoFromDTO.setStaffId(formDTO.getAddUserId()); |
|
|
|
|
|
Result<MineResultDTO> result = govOrgOpenFeignClient.queryStaffProfile(staffInfoFromDTO); |
|
|
|
|
|
if(result.success()&&null!=result.getData()){ |
|
|
|
|
|
insertEntity.setAddUserAgencyId(result.getData().getAgencyId()); |
|
|
|
|
|
} |
|
|
insertEntity.setAddOrgId(formDTO.getOrgId()); |
|
|
insertEntity.setAddOrgId(formDTO.getOrgId()); |
|
|
|
|
|
insertEntity.setAddOrgPids(formDTO.getPids()); |
|
|
baseDao.insert(insertEntity); |
|
|
baseDao.insert(insertEntity); |
|
|
return new AddSpecialSubjectResultDTO(insertEntity.getId()); |
|
|
return new AddSpecialSubjectResultDTO(insertEntity.getId()); |
|
|
} |
|
|
} |
|
|