| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- package com.ydtech.modules.admin.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.admin.dao.SysUserLinkDxUserIdMapper;
- import com.ydtech.modules.admin.model.dto.*;
- import com.ydtech.modules.admin.model.po.SysUserLinkDxUserId;
- import com.ydtech.modules.admin.model.po.Uuser;
- import com.ydtech.modules.admin.model.vo.DxDataVo;
- import com.ydtech.modules.admin.model.vo.SysUserLinkZzbUserIdVo;
- import com.ydtech.modules.admin.model.vo.UserQueryVo;
- import com.ydtech.modules.admin.service.SysUserLinkDxUserIdService;
- import com.ydtech.modules.admin.utils.DxApiConfigurationProperties;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.order.entity.BasePageResult;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.core.ParameterizedTypeReference;
- import org.springframework.http.*;
- import org.springframework.stereotype.Service;
- import org.springframework.web.client.RestTemplate;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * @author Administrator
- * @description 针对表【sys_user(用户信息表)】的数据库操作Service实现
- * @createDate 2024-09-06 18:13:19
- */
- @Service
- public class SysUserLinkDxUserIdServiceImpl extends ServiceImpl<SysUserLinkDxUserIdMapper, SysUserLinkDxUserId>
- implements SysUserLinkDxUserIdService {
- @Autowired
- private SysUserLinkDxUserIdMapper sysUserLinkDxUserIdMapper;
- @Autowired
- private RestTemplate restTemplate;
- @Autowired
- private DxApiConfigurationProperties dxApiConfigurationProperties;
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/6 19:47
- * @Description: 添加掌柜鼎的绑定的用户id
- */
- @Override
- public void addOrUpdate(SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo) {
- LambdaQueryWrapper<SysUserLinkDxUserId> lqw = new LambdaQueryWrapper<>();
- lqw.eq( SysUserLinkDxUserId::getUserId, sysUserLinkZzbUserIdVo.getUserId());
- SysUserLinkDxUserId one = this.getOne(lqw);
- if(one!=null){
- one.setDxUserId(sysUserLinkZzbUserIdVo.getLinkUserId());
- one.setCreateTime(new Date());
- one.setCreateUserId(new BaseController().getUserId());
- this.updateById(one);
- }else{
- SysUserLinkDxUserId sysUserLinkDxUserId =new SysUserLinkDxUserId(null,sysUserLinkZzbUserIdVo.getUserId(), sysUserLinkZzbUserIdVo.getLinkUserId(), new Date(), new BaseController().getUserId());
- this.save(sysUserLinkDxUserId);
- }
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/6 19:46
- * @Description: 通过用户id删除数据
- */
- @Override
- public void deleteByUserId(SysUserLinkZzbUserIdVo sysUserLinkZzbUserIdVo) {
- LambdaQueryWrapper<SysUserLinkDxUserId> lqw = new LambdaQueryWrapper<>();
- lqw.eq(SysUserLinkDxUserId::getUserId, sysUserLinkZzbUserIdVo.getUserId());
- int rows = this.baseMapper.delete(lqw);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/9 8:54
- * @Description: 通过用户关联数据查询返回用户集合
- */
- @Override
- public BasePageResult<SysUserLinkUserDto> queryUserPage(SysUserLinkQueryUserDto sysUserLinkQueryUserDto) {
- Page<SysUserLinkUserDto> page = new Page<>(sysUserLinkQueryUserDto.getPageNum(), sysUserLinkQueryUserDto.getPageSize());
- Page<SysUserLinkUserDto> sysUserLinkUserDtoBasePageResult = sysUserLinkDxUserIdMapper.queryPage(page, sysUserLinkQueryUserDto);
- List<SysUserLinkUserDto> records = sysUserLinkUserDtoBasePageResult.getRecords();
- List<SysUserLinkUserDto> newRecords = new ArrayList<>();
- if(records!=null && records.size()>0){
- for(SysUserLinkUserDto sysUserLinkUserDto : records){
- if(StringUtils.isBlank(sysUserLinkUserDto.getLinkUserId())){
- sysUserLinkUserDto.setLinkUserName("");
- }else{
- Uuser uuser = getDataByGet(sysUserLinkUserDto.getLinkUserId(), dxApiConfigurationProperties.getFindUserById());
- sysUserLinkUserDto.setLinkUserName(uuser ==null? "":uuser.getNickname());
- }
- newRecords.add(sysUserLinkUserDto);
- }
- }
- sysUserLinkUserDtoBasePageResult.setRecords(newRecords);
- return new BasePageResult<>(sysUserLinkQueryUserDto.getPageNum(), page.getSize(), sysUserLinkUserDtoBasePageResult.getTotal(), page.getPages(),
- sysUserLinkUserDtoBasePageResult.getRecords());
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/10 14:53
- * @Description: 查询掌柜鼎数据
- */
- @Override
- public BasePageResult<Uuser> queryUserDxPage(SysUserLinkQueryUserDto sysUserLinkQueryUserDto) {
- Page<Uuser> page = new Page<>(sysUserLinkQueryUserDto.getPageNum(),
- sysUserLinkQueryUserDto.getPageSize());
- UserQueryVo userQueryVo =new UserQueryVo(sysUserLinkQueryUserDto.getUserName(),sysUserLinkQueryUserDto.getMobile(),sysUserLinkQueryUserDto.getPageSize(), sysUserLinkQueryUserDto.getPageNum());
- BasePageResult<Uuser> result = getDataByPost(userQueryVo, dxApiConfigurationProperties.getFindUserListByPage());
- if(result!=null ){
- return result;
- }
- return new BasePageResult<>(sysUserLinkQueryUserDto.getPageNum(), page.getSize(), 0, page.getPages(),
- new ArrayList<Uuser>());
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/9 14:43
- * @Description: 分页查询电销用户数据
- */
- public BasePageResult<Uuser> getDataByPost(UserQueryVo userQueryVo, String url){
- HttpHeaders httpHeaders = new HttpHeaders();
- httpHeaders.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity<UserQueryVo> requestEntity = new HttpEntity<>(userQueryVo,httpHeaders);
- ParameterizedTypeReference<HttpResult<BasePageResult<Uuser>>> responseType =
- new ParameterizedTypeReference<HttpResult<BasePageResult<Uuser>>>() {};
- ResponseEntity<HttpResult<BasePageResult<Uuser>>> response = restTemplate.exchange(
- url,
- HttpMethod.POST,
- requestEntity,
- responseType
- );
- if(response!=null) {
- HttpResult<BasePageResult<Uuser>> body = response.getBody();
- if (body.getCode() == 200) {
- BasePageResult<Uuser> data = body.getData();
- return data;
- }
- }
- return null;
- }
- public DxDataDto getDataByPost(DxDataVo dxDataVo, String url){
- HttpHeaders httpHeaders = new HttpHeaders();
- httpHeaders.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity<DxDataVo> requestEntity = new HttpEntity<>(dxDataVo,httpHeaders);
- ResponseEntity<HttpResult<DxDataDto>> response =null;
- ParameterizedTypeReference<HttpResult<DxDataDto>> typeRef = new ParameterizedTypeReference<HttpResult<DxDataDto>>() {};
- try{
- response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, typeRef);
- }catch(Exception e){
- }
- if(response!=null) {
- HttpResult<DxDataDto> body = response.getBody();
- if (body.getCode() == 200) {
- DxDataDto data = body.getData();
- return new DxDataDto(dxDataVo.getDateTime(),data.getExhaleDuration(), data.getOutgoingCallsNumber(), data.getConnectionsNumber(), data.getCallSuccessRate());
- }
- }
- return new DxDataDto(dxDataVo.getDateTime(),"-", "-", "-", "-");
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/9 14:43
- * @Description: 根据用户id查询用户数据
- */
- public Uuser getDataByGet(String userId, String url){
- url = url + "?userId=" + userId;
- ResponseEntity<HttpResult<Uuser>> response =null;
- ParameterizedTypeReference<HttpResult<Uuser>> typeRef = new ParameterizedTypeReference<HttpResult<Uuser>>() {};
- try{
- response = restTemplate.exchange(url, HttpMethod.GET, null, typeRef);
- }catch(Exception e){
- }
- if(response!=null) {
- HttpResult<Uuser> body = response.getBody();
- if (body.getCode() == 200) {
- Uuser data = body.getData();
- return data;
- }
- }
- return new Uuser();
- }
- }
|