package com.nq.service.impl; import cn.hutool.core.util.ObjectUtil; 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.nq.common.ServerResponse; import com.nq.dao.TradingHourMapper; import com.nq.dao.TransactionLogMapper; import com.nq.pojo.TradingHour; import com.nq.pojo.TransactionLog; import com.nq.pojo.User; import com.nq.pojo.UserPositionCheckDz; import com.nq.service.ITradingHourService; import com.nq.service.TransactionLogService; import com.nq.utils.translate.GoogleTranslateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; @Service public class TransactionLogServiceImpl extends ServiceImpl implements TransactionLogService { @Autowired UserServiceImpl userService; @Override public ServerResponse flowLog(int pageNum, int pageSize, HttpServletRequest request) { User user = this.userService.getCurrentRefreshUser(request); if(ObjectUtil.isEmpty(user)){ return ServerResponse.createByErrorMsg("登录已失效,请重新登录!",request); } Page page = Page.of(pageNum, pageSize); Page pageList = page(page,new LambdaQueryWrapper() .eq(TransactionLog::getUserId, user.getId()) .orderByDesc(TransactionLog::getTransactionTime) ); pageList.getRecords().forEach(f->{ f.setTransactionType(new GoogleTranslateUtil().translate(f.getTransactionType(),request.getHeader("lang"))); f.setDescription(new GoogleTranslateUtil().translate(f.getDescription(),request.getHeader("lang"))); }); return ServerResponse.createBySuccess(pageList); } @Override public void add(Integer userId, String transactionType, String amount, String description) { TransactionLog transactionLog = new TransactionLog(); transactionLog.setUserId(userId); transactionLog.setTransactionType(transactionType); transactionLog.setAmount(amount); transactionLog.setDescription(description); transactionLog.setTransactionTime(new Date()); save(transactionLog); } }