AdsDeskRequestLogBusiness.java 2.87 KB
package com.ruoyi.adsdesk.business.operation;

import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.adsdesk.param.operation.AdsdeskRequestListParam;
import com.ruoyi.adsdesk.param.operation.AdsdeskRequestSaveParam;
import com.ruoyi.adsdesk.service.AdsDeskRequestLogService;
import com.ruoyi.adsdesk.util.AdsPageUtil;
import com.ruoyi.framework.aspectj.lang.annotation.DataSource;
import com.ruoyi.project.system.domain.AdsDeskRequestLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Objects;

/**
 * AdsDesk请求日志相关业务
 * @author Xingbz
 * 2022-09-06
 */
@Slf4j
@Service
public class AdsDeskRequestLogBusiness {

    @Autowired
    private AdsDeskRequestLogService adsDeskRequestLogService;

    @DataSource
    public IPage<AdsDeskRequestLog> list(AdsdeskRequestListParam param) {
        QueryWrapper<AdsDeskRequestLog> queryWrapper = Wrappers.query();
        queryWrapper.eq(Objects.nonNull(param.getUniqueCode()) && !Objects.equals(param.getUniqueCode(), 0L), AdsDeskRequestLog.COL_UNIQUE_CODE, param.getUniqueCode());
        queryWrapper.like(StringUtils.isNotBlank(param.getRequestUrl()), AdsDeskRequestLog.COL_REQUEST_URL, param.getRequestUrl());
        queryWrapper.like(StringUtils.isNotBlank(param.getOptUser()), AdsDeskRequestLog.COL_OPT_USER, param.getOptUser());


        if (StringUtils.isNoneBlank(param.getOrderByColumn(), param.getIsAsc())) {
            queryWrapper.orderBy(true, param.isAscSort(), param.getOrderByColumnUnderScore());
        } else {
            queryWrapper.orderByDesc(AdsDeskRequestLog.COL_GMT_CREATE);
        }
        return adsDeskRequestLogService.page(AdsPageUtil.buildPage(param), queryWrapper);
    }

    @DataSource
    public void saveRequestLog(AdsdeskRequestSaveParam param) {
        log.info("收到请求记录: {}", JSON.toJSONString(param));
        AdsDeskRequestLog requestLog = new AdsDeskRequestLog();
        requestLog.setRequestUrl(param.getRequestUrl());
        requestLog.setRequestMethod(param.getRequestMethod());
        requestLog.setRequestBody(param.getRequestBody());
        requestLog.setResponseCode(param.getResponseCode());
        requestLog.setResponseBody(param.getResponseBody());
        requestLog.setOptUser(param.getOptUser());
        requestLog.setAuthToken(param.getAuthToken());
        requestLog.setUniqueCode(param.getUniqueCode());
        /*SysUser sysUser = sysUserService.selectUserByUserName(param.getOptUser());
        if (Objects.nonNull(sysUser)) {
            requestLog.setCreateBy(sysUser.getUserId());
        }*/
        adsDeskRequestLogService.save(requestLog);
    }
}