|
|
@@ -0,0 +1,197 @@
|
|
|
+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.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){
|
|
|
+ Uuser uuser = getDataByGet(sysUserLinkUserDto.getUserId(), dxApiConfigurationProperties.getFindUserById());
|
|
|
+ sysUserLinkUserDto.setLinkUserName(uuser ==null? "":uuser.getName());
|
|
|
+ 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);
|
|
|
+ ResponseEntity<HttpResult<BasePageResult<Uuser>>> response =null;
|
|
|
+ ParameterizedTypeReference<HttpResult<BasePageResult<Uuser>>> typeRef = new ParameterizedTypeReference<HttpResult<BasePageResult<Uuser>>>() {};
|
|
|
+ try{
|
|
|
+ response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, typeRef);
|
|
|
+ }catch(Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
+ 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){
|
|
|
+ HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
+ HttpEntity<String> requestEntity = new HttpEntity<>(userId,httpHeaders);
|
|
|
+ ResponseEntity<HttpResult<Uuser>> response =null;
|
|
|
+ ParameterizedTypeReference<HttpResult<Uuser>> typeRef = new ParameterizedTypeReference<HttpResult<Uuser>>() {};
|
|
|
+ try{
|
|
|
+ response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, 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();
|
|
|
+ }
|
|
|
+}
|