package cc.mrbird.febs.unisoftiot.api.service.impl;
|
|
import cc.mrbird.febs.unisoftiot.api.entity.Product;
|
import cc.mrbird.febs.unisoftiot.api.mapper.ProductMapper;
|
import cc.mrbird.febs.unisoftiot.api.service.InitAccountService;
|
import cc.mrbird.febs.unisoftiot.api.service.ProductService;
|
import cc.mrbird.febs.unisoftiot.api.vo.ApiProductVo;
|
import cc.mrbird.febs.unisoftiot.config.UniSoftAccount;
|
import cc.mrbird.febs.unisoftiot.enums.ProductRequestUrlEnum;
|
import cc.mrbird.febs.unisoftiot.utils.UrlUtils;
|
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONUtil;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.LinkedHashMap;
|
import java.util.List;
|
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
|
|
private final InitAccountService initAccountService;
|
@Override
|
public List<ApiProductVo> getProductList() {
|
UniSoftAccount uniSoftAccount = initAccountService.initAccountByAppInfo(UrlUtils.APP_ID, UrlUtils.APP_SECRET);
|
|
// 创建参数集合
|
LinkedHashMap<String, Object> parameters = new LinkedHashMap<>();
|
parameters.put("q", 1);
|
String bodyStr = uniSoftAccount.requestHandler.sendSignedRequest(
|
UrlUtils.BASE_URL, ProductRequestUrlEnum.PRODUCT_LIST.getRequestUrl(),
|
parameters, ProductRequestUrlEnum.PRODUCT_LIST.getRequestMethod());
|
|
JSONObject jsonObject = JSONUtil.parseObj(bodyStr);
|
return jsonObject.getJSONArray("data").toList(ApiProductVo.class);
|
}
|
}
|