Commit 09df89f4 by zhaoqingwei

hotfix:#投放管理切换数据源

parent 0b8e2219
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
<oshi.version>6.4.8</oshi.version> <oshi.version>6.4.8</oshi.version>
<velocity.version>2.3</velocity.version> <velocity.version>2.3</velocity.version>
<mybatis-plus.version>3.5.2</mybatis-plus.version> <mybatis-plus.version>3.5.2</mybatis-plus.version>
<hutool.version>5.7.22</hutool.version>
</properties> </properties>
<dependencies> <dependencies>
...@@ -248,6 +249,13 @@ ...@@ -248,6 +249,13 @@
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version> <version>${mybatis-plus.version}</version>
</dependency> </dependency>
<!-- hutool 工具类 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.ruoyi.adsdesk.business.user; package com.ruoyi.adsdesk.business.user;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.adsdesk.domain.AdsUser; import com.ruoyi.adsdesk.domain.AdsUser;
import com.ruoyi.adsdesk.param.UserListParam; import com.ruoyi.adsdesk.param.UserListParam;
import com.ruoyi.adsdesk.vo.AdsUserVo;
import com.ruoyi.adsdesk.vo.ExpandFieldsVo;
import com.ruoyi.adsdesk.vo.UserResponseDto;
import com.ruoyi.common.constant.StrConstants;
import org.apache.commons.compress.utils.Lists; import org.apache.commons.compress.utils.Lists;
import org.apache.logging.log4j.util.Strings;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList; import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.URLUtil;
import javax.annotation.Resource;
import java.net.URI;
import java.util.List; import java.util.List;
...@@ -18,21 +34,84 @@ import java.util.List; ...@@ -18,21 +34,84 @@ import java.util.List;
@Service @Service
public class AdsUserBusiness { public class AdsUserBusiness {
public IPage<AdsUser> list(UserListParam param) { public IPage<AdsUserVo> list(UserListParam param) {
AdsUser u1 = new AdsUser(); UserResponseDto responseDto = getUserPageList(param.getPageSize(),param.getPageNum(),param);
u1.setId(1L);
u1.setCustomerId(1L);
u1.setName("zqw");
u1.setRole("MANAGER");
u1.setEmail("zhaoqingwei@reyun.com");
List<AdsUser> list = Lists.newArrayList(); if(null == responseDto){
list.add(u1); return new Page<>(param.getPageNum(), param.getPageSize());
}
Page result = new Page<>(1, 10, 1); List<AdsUserVo> list = responseDto.getRecords();
Integer total = responseDto.getTotal();
Page result = new Page<>(param.getPageNum(), param.getPageSize(), total);
result.setRecords(list); result.setRecords(list);
return result; return result;
} }
private UserResponseDto getUserPageList(int size,int page,UserListParam userListParam){
RestTemplate restTemplate = new RestTemplate();
JSONObject param = new JSONObject();
param.put("secret","20230000");
param.put("current",page);
param.put("size",size);
param.put("userId",userListParam.getUserId());
param.put("userName",userListParam.getUserName());
param.put("userNick",userListParam.getUserNick());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<?> requestEntity = new HttpEntity<>(param, headers);
String url = "http://test-api2.adsdesk.cn/adsdesk/api/open_api/system/user/list";
String responseStr = restTemplate.exchange(URI.create(url), HttpMethod.POST, requestEntity, String.class).getBody();
responseStr = clearResponseStr(responseStr);
if(Strings.isEmpty(responseStr)){
return null;
}
UserResponseDto dto = new UserResponseDto();
JSONObject jsonObject = JSON.parseObject(responseStr);
int code = (int) jsonObject.get("code");
JSONObject data = (JSONObject) jsonObject.get("data");
List<AdsUserVo> records = (List<AdsUserVo>) data.get("records");
List<ExpandFieldsVo> expandFields = (List<ExpandFieldsVo>) data.get("expandFields");
Integer current = (Integer) data.get("current");
Integer pages = (Integer) data.get("pages");
Integer pageSize = (Integer) data.get("size");
Integer total = (Integer) data.get("total");
dto.setRecords(records);
dto.setExpandFields(expandFields);
dto.setCurrent(current);
dto.setTotal(total);
return dto;
}
private String clearResponseStr(String responseStr) {
if (ObjectUtil.isNull(responseStr)) {
return null;
}
// 双引号包括的字符串
if (StrUtil.startWith(responseStr, StrConstants.DOUBLE_QUOTES) && StrUtil.endWith(responseStr, StrConstants.DOUBLE_QUOTES)) {
int placeholderCount = StrUtil.count(responseStr, "\\\"");
// 类似于"{\"en\":\"zhangsan\",\"cn\":\"张三\"}"转义之后的json字符串
if (placeholderCount > 0 && placeholderCount % 2 == 0) {
return StrUtil.replace(StrUtil.removeSuffix(StrUtil.removePrefix(responseStr, StrConstants.DOUBLE_QUOTES), StrConstants.DOUBLE_QUOTES), "\\\"", StrConstants.DOUBLE_QUOTES);
}
}
return responseStr;
}
} }
...@@ -29,7 +29,7 @@ public class AdsUserController{ ...@@ -29,7 +29,7 @@ public class AdsUserController{
private AdsUserBusiness userBusiness; private AdsUserBusiness userBusiness;
@PostMapping("/list") @PostMapping("/list")
public IPage<AdsUser> list(@RequestBody UserListParam param) { public IPage<AdsUserVo> list(@RequestBody UserListParam param) {
return userBusiness.list(param); return userBusiness.list(param);
} }
} }
...@@ -14,21 +14,10 @@ import java.util.List; ...@@ -14,21 +14,10 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class UserListParam extends AdsListBaseParam { public class UserListParam extends AdsListBaseParam {
private String ids; private String userId;
private Long customerId; private String userName;
private List<Long> customerIds; private String userNick;
private String customerName;
private String email;
private String name;
private String role;
private String beginCreateTime;
private String endCreateTime;
} }
...@@ -15,6 +15,10 @@ public class AdsUserVo extends AdsBaseEntity { ...@@ -15,6 +15,10 @@ public class AdsUserVo extends AdsBaseEntity {
*/ */
private Long customerId; private Long customerId;
private String userName;
private String userNick;
private Integer userId;
/** /**
* email * email
*/ */
......
package com.ruoyi.adsdesk.vo;
import lombok.Data;
/**
* @author :zhaoqingwei
* @date :Created in 2023/12/14 17:13
* @description:${description}
*/
@Data
public class ExpandFieldsVo {
String field;
String name;
}
\ No newline at end of file
package com.ruoyi.adsdesk.vo;
import lombok.Data;
import java.util.List;
/**
* @author :zhaoqingwei
* @date :Created in 2023/12/14 17:19
* @description:${description}
*/
@Data
public class UserResponseDto {
Integer current;
List<ExpandFieldsVo> expandFields;
List<AdsUserVo> records;
Integer size;
Integer total;
}
\ No newline at end of file
package com.ruoyi.common.constant;
import cn.hutool.core.text.StrPool;
/**
* 一些字符串常量
* @author Xingbz
* 2023/9/1
*/
public interface StrConstants extends StrPool {
String DOUBLE_QUOTES = "\"";
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment