package com.ruoyi.system.service.impl;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.TypeReference;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.ruoyi.common.constant.ResultConstants;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.model.ResultVO;
|
import com.ruoyi.common.enums.InstitutionStatus;
|
import com.ruoyi.common.exception.BusinessException;
|
import com.ruoyi.common.signature.AESUtils;
|
import com.ruoyi.common.utils.HttpClientUtil;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.system.domain.InstitutionalManager;
|
import com.ruoyi.system.domain.ThAccessAddress;
|
import com.ruoyi.system.domain.enums.AccessAddressType;
|
import com.ruoyi.system.domain.query.InstitutionManagerQuery;
|
import com.ruoyi.system.domain.req.InstitutionModStatusReqDTO;
|
import com.ruoyi.system.domain.vo.InstitutionVo;
|
import com.ruoyi.system.mapper.ThAccessAddressMapper;
|
import com.ruoyi.system.service.InstitutionalManagerService;
|
import com.ruoyi.system.domain.req.InstitutionalManagerAddReqDTO;
|
import com.ruoyi.system.domain.req.InstitutionalManagerModReqDTO;
|
import com.ruoyi.system.mapper.InstitutionalManagerMapper;
|
import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
|
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.utils.RandomUtil;
|
import com.ruoyi.system.service.ThAccessAddressService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.*;
|
|
@Service("InstitutionalManagerService")
|
public class InstitutionalManagerServiceImpl extends ServiceImpl<InstitutionalManagerMapper, InstitutionalManager> implements InstitutionalManagerService {
|
|
@Autowired
|
private InstitutionalManagerMapper institutionalManagerMapper;
|
@Autowired
|
private ThAccessAddressService thAccessAddressService;
|
|
@Override
|
public int add(InstitutionalManagerAddReqDTO reqDTO) {
|
String accessKey = RandomUtil.generateRandomString(20);
|
String secretKey = RandomUtil.generateRandomString(20);
|
InstitutionalManager institutionalManager = new InstitutionalManager();
|
institutionalManager.setInstitutionalName(reqDTO.getInstitutionalName());
|
institutionalManager.setDelFlag(DeleteStatusEnum.NO.getStatus());
|
institutionalManager.setAccessKey(accessKey);
|
institutionalManager.setSecretKey(secretKey);
|
institutionalManager.setInstitutionCode(generateCode());
|
institutionalManager.setPhone(reqDTO.getPhone());
|
institutionalManager.setContacts(reqDTO.getContacts());
|
institutionalManager.setStatus(InstitutionStatus.YES.getStatus());
|
return institutionalManagerMapper.insert(institutionalManager);
|
}
|
|
@Override
|
public int mod(InstitutionalManagerModReqDTO reqDTO) {
|
InstitutionalManager institutionalManager = new InstitutionalManager();
|
institutionalManager.setId(reqDTO.getId());
|
institutionalManager.setInstitutionalName(reqDTO.getInstitutionalName());
|
institutionalManager.setPhone(reqDTO.getPhone());
|
institutionalManager.setContacts(reqDTO.getContacts());
|
//institutionalManager.setStatus(reqDTO.getStatus());
|
return institutionalManagerMapper.updateById(institutionalManager);
|
}
|
|
@Override
|
public int del(Long id) {
|
InstitutionalManager institutionalManager = this.findById(id);
|
if(institutionalManager == null){
|
throw new ServiceException("该数据不存在");
|
}
|
institutionalManager.setId(id);
|
institutionalManager.setDelFlag(DeleteStatusEnum.YES.getStatus());
|
return baseMapper.updateById(institutionalManager);
|
}
|
|
@Override
|
public InstitutionalManager findById(Long id) {
|
return institutionalManagerMapper.selectOne(new LambdaQueryWrapper<InstitutionalManager>().eq(InstitutionalManager::getId, id)
|
.eq(InstitutionalManager::getDelFlag, DeleteStatusEnum.NO.getStatus()));
|
}
|
|
@Override
|
public List<InstitutionalManager> listByPage(InstitutionManagerQuery query) {
|
return institutionalManagerMapper.selectList(new LambdaQueryWrapper<InstitutionalManager>().eq(InstitutionalManager::getDelFlag,DeleteStatusEnum.NO.getStatus())
|
.eq(!StringUtils.isEmpty(query.getInstitutionManagerName()),InstitutionalManager::getInstitutionalName,query.getInstitutionManagerName()));
|
}
|
|
@Override
|
public InstitutionalManager getInstitutionalByAccessKey(String accessKey) {
|
InstitutionalManager institutionalManager = institutionalManagerMapper.selectOne(new LambdaQueryWrapper<InstitutionalManager>()
|
.eq(InstitutionalManager::getAccessKey, accessKey)
|
.eq(InstitutionalManager::getDelFlag, DeleteStatusEnum.NO.getStatus()));
|
return institutionalManager;
|
}
|
|
@Override
|
public int modStatus(InstitutionModStatusReqDTO reqDTO) {
|
//获取该机构信息
|
InstitutionalManager institutionalManager = this.getById(reqDTO.getId());
|
//获取该机构访问路径
|
ThAccessAddress accessAddress = thAccessAddressService.getByInstitutionIdAndType(reqDTO.getId(), AccessAddressType.NOTICE.getType());
|
//推送到机构
|
InstitutionVo institutionVo = new InstitutionVo();
|
institutionVo.setInstitutionName(institutionalManager.getInstitutionalName());
|
institutionVo.setStatus(reqDTO.getStatus());
|
institutionVo.setReason(reqDTO.getReason());
|
/* String json = HttpClientUtil.doPost(accessAddress.getUrl(), JSONObject.toJSONString(institutionVo));
|
ResultVO<String> returnVo = JSONObject.parseObject(json, new TypeReference<ResultVO<String>>() {});
|
if(returnVo.getCode() == null || returnVo.getCode() != 200){
|
throw new ServiceException("推送平台信息异常");
|
}*/
|
institutionalManager.setId(reqDTO.getId());
|
institutionalManager.setStatus(reqDTO.getStatus());
|
institutionalManager.setReason(reqDTO.getReason());
|
int i = institutionalManagerMapper.updateById(institutionalManager);
|
return i;
|
}
|
|
@Override
|
public List<InstitutionalManager> selectInstitutionInfo() {
|
return institutionalManagerMapper.selectList(new LambdaQueryWrapper<InstitutionalManager>().eq(InstitutionalManager::getDelFlag,DeleteStatusEnum.NO.getStatus()));
|
}
|
|
@Override
|
public List<InstitutionalManager> getAllList() {
|
return institutionalManagerMapper.selectList(new LambdaQueryWrapper<InstitutionalManager>().eq(InstitutionalManager::getDelFlag,DeleteStatusEnum.NO.getStatus()));
|
}
|
|
|
//生成编码
|
private Long generateCode() {
|
Long code = 1000l;
|
Long count = institutionalManagerMapper.selectCount(new LambdaQueryWrapper<>());
|
code += count;
|
return code;
|
}
|
}
|