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); 
 | 
    } 
 | 
} 
 |