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{ @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 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 listTerms(Map terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageQuery(PageRequest page, Map terms){ long total = mapper.countTerms(terms); List content = mapper.pageTerms(page, terms); return new PageImpl(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 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 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 thRmtjUserQueryWrapper = new QueryWrapper<>(); QueryWrapper thRmtjUnitQueryWrapper = new QueryWrapper<>(); for (int i=0; i