package cn.huge.module.thirdByRmtj.service;
|
|
import cn.huge.base.common.exception.ServiceException;
|
import cn.huge.base.common.utils.DateUtils;
|
import cn.huge.base.common.utils.IdUtils;
|
import cn.huge.base.common.utils.ObjectUtils;
|
import cn.huge.module.client.api.impl.UtilsClientImpl;
|
import cn.huge.module.thirdByRmtj.consts.RmtjConsts;
|
import cn.huge.module.thirdByRmtj.dao.mapper.ThRmtjUserMapper;
|
import cn.huge.module.thirdByRmtj.domain.po.ThRmtjUnit;
|
import cn.huge.module.thirdByRmtj.domain.po.ThRmtjUser;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.PostConstruct;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @title: 第三方系统对接用户信息-广州市人民调解系统业务逻辑处理
|
* @Description 第三方系统对接用户信息-广州市人民调解系统业务逻辑处理
|
* @company hugeinfo
|
* @author liyj
|
* @Time 2024-11-15 10:56:26
|
* @version 1.0.0
|
*/
|
@Slf4j
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class ThRmtjUserService extends ServiceImpl<ThRmtjUserMapper, ThRmtjUser>{
|
|
@Autowired
|
private ThRmtjUserMapper mapper;
|
|
@Autowired
|
private UtilsClientImpl utilsClient;
|
@Autowired
|
private ThRmtjUnitService thRmtjUnitService;
|
@Autowired
|
private ThRmtjService thRmtjService;
|
|
/**
|
* 更新对象
|
* @param entity 对象
|
*/
|
public void updateThRmtjUser(ThRmtjUser entity){
|
try{
|
mapper.updateThRmtjUser(entity);
|
}catch (Exception e){
|
log.error("[ThRmtjUserService.updateThRmtjUser]调用失败,异常信息:"+e, e);
|
throw new ServiceException("ThRmtjUserService.updateThRmtjUser", e);
|
}
|
}
|
|
/**
|
* 条件更新对象
|
* @param entity 对象
|
* @param terms 条件
|
*/
|
public void updateThRmtjUserTerms(ThRmtjUser entity, Map<String, Object> terms){
|
try{
|
mapper.updateThRmtjUserTerms(entity, terms);
|
}catch (Exception e){
|
log.error("[ThRmtjUserService.updateThRmtjUserTerms]调用失败,异常信息:"+e, e);
|
throw new ServiceException("ThRmtjUserService.updateThRmtjUserTerms", e);
|
}
|
}
|
|
/**
|
* 根据编号物理删除
|
* @param id 查询条件集合
|
*/
|
public void deleteThRmtjUser(String id){
|
try{
|
mapper.deleteThRmtjUser(id);
|
}catch (Exception e){
|
log.error("[ThRmtjUserService.deleteThRmtjUser]调用失败,异常信息:"+e, e);
|
throw new ServiceException("ThRmtjUserService.deleteThRmtjUser", e);
|
}
|
}
|
|
/**
|
* 按条件查询
|
* @param terms 条件
|
* @return List
|
*/
|
public List<ThRmtjUser> listTerms(Map<String, Object> terms){
|
return mapper.listTerms(terms);
|
}
|
|
/**
|
* 按条件统计
|
* @param terms 条件
|
* @return long
|
*/
|
public long countTerms(Map<String, Object> terms){
|
return mapper.countTerms(terms);
|
}
|
|
/**
|
* 按条件分页查询
|
* @param page 分页对象
|
* @param terms 条件
|
* @return Page
|
*/
|
public Page<ThRmtjUser> pageQuery(PageRequest page, Map<String, Object> terms){
|
long total = mapper.countTerms(terms);
|
List<ThRmtjUser> content = mapper.pageTerms(page, terms);
|
return new PageImpl<ThRmtjUser>(content, page, total);
|
}
|
|
/**
|
* 新增或更新对象
|
* @param thRmtjUser 实体对象
|
*/
|
public void saveThRmtjUser(ThRmtjUser thRmtjUser){
|
try{
|
Date nowDate = DateUtils.getNowDate();
|
// 判断是否新增
|
if (IdUtils.checkNewId(thRmtjUser.getId())){
|
thRmtjUser.setId(utilsClient.getNewTimeId());
|
thRmtjUser.setCreateTime(nowDate);
|
}
|
thRmtjUser.setUpdateTime(nowDate);
|
this.saveOrUpdate(thRmtjUser);
|
}catch (Exception e){
|
log.error("[ThRmtjUserService.saveThRmtjUser]调用失败,异常信息:"+e, e);
|
throw new ServiceException("ThRmtjUserService.saveThRmtjUser", e);
|
}
|
}
|
|
/**
|
* 查询组织的管理员
|
* @param unitId
|
* @return
|
*/
|
public ThRmtjUser getAdminByUnitId(String unitId){
|
try{
|
QueryWrapper<ThRmtjUser> thRmtjUserQueryWrapper = new QueryWrapper<>();
|
thRmtjUserQueryWrapper.eq("unit_id", unitId).eq("acc_type", RmtjConsts.ACC_TYPE_2);
|
ThRmtjUser thRmtjUser = this.getOne(thRmtjUserQueryWrapper);
|
return thRmtjUser;
|
}catch (Exception e){
|
log.error("service方法[ThRmtjUserService.getAdminByUnitId]调用异常:"+e, e);
|
throw new ServiceException("ThRmtjUserService.getAdminByUnitId", e);
|
}
|
}
|
/**
|
* 查询对应调解员信息
|
* @param userId
|
* @return
|
*/
|
public ThRmtjUser getByUserId(String userId){
|
try{
|
QueryWrapper<ThRmtjUser> thRmtjUserQueryWrapper = new QueryWrapper<>();
|
thRmtjUserQueryWrapper.eq("user_id", userId).eq("acc_type", RmtjConsts.ACC_TYPE_1);
|
ThRmtjUser thRmtjUser = this.getOne(thRmtjUserQueryWrapper);
|
return thRmtjUser;
|
}catch (Exception e){
|
log.error("service方法[ThRmtjUserService.getByUserId]调用异常:"+e, e);
|
throw new ServiceException("ThRmtjUserService.getByUserId", e);
|
}
|
}
|
|
/**
|
* 人民调解系统同步-同步调解员
|
* @throws Exception
|
*/
|
public void syncRmtjMediator(){
|
try{
|
thRmtjService.getToken();
|
String result = thRmtjService.listRmtjMediator();
|
JSONObject jsonObject = JSONObject.fromObject(result);
|
int code = jsonObject.getInt("code");
|
if (code == 200){
|
JSONArray dataArray = jsonObject.getJSONArray("data");
|
QueryWrapper<ThRmtjUser> thRmtjUserQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<ThRmtjUnit> thRmtjUnitQueryWrapper = new QueryWrapper<>();
|
for (int i=0; i<dataArray.size(); i++){
|
JSONObject dataJson = dataArray.getJSONObject(i);
|
String name = dataJson.getString("name");
|
thRmtjUserQueryWrapper.clear();
|
thRmtjUserQueryWrapper.eq("name", name);
|
ThRmtjUser thRmtjUser = this.getOne(thRmtjUserQueryWrapper);
|
if (ObjectUtils.isNotEmpty(thRmtjUser)) {
|
thRmtjUser.setDisputeMediatorId(dataJson.getString("disputeMediatorId"));
|
thRmtjUser.setDisputeUserId(dataJson.getString("disputeUserId"));
|
thRmtjUnitQueryWrapper.clear();
|
thRmtjUnitQueryWrapper.eq("name", thRmtjUser.getCommitteeName());
|
ThRmtjUnit thRmtjUnit = thRmtjUnitService.getOne(thRmtjUnitQueryWrapper);
|
if (ObjectUtils.isNotEmpty(thRmtjUnit)) {
|
thRmtjUser.setCommitteeId(thRmtjUnit.getCode());
|
}
|
thRmtjUser.setProvinceId(dataJson.getString("provinceId"));
|
thRmtjUser.setCityId(dataJson.getString("cityId"));
|
thRmtjUser.setTownId(dataJson.getString("townId"));
|
thRmtjUser.setStreetId(dataJson.getString("streetId"));
|
this.updateThRmtjUser(thRmtjUser);
|
}
|
}
|
}else{
|
log.error("同步调解员失败,请求返回信息:"+jsonObject.toString());
|
}
|
}catch (Exception e){
|
log.error("service方法[ThRmtjUserService.syncRmtjMediator]调用异常:"+e, e);
|
throw new ServiceException("ThRmtjUserService.syncRmtjMediator", e);
|
}
|
}
|
|
}
|