package com.moral.api.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.*;
import com.moral.api.mapper.*;
import com.moral.api.service.SpecialDeviceHistoryService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;
/**
*
* 服务实现类
*
*
* @author moral
* @since 2021-08-11
*/
@Service
public class SpecialDeviceHistoryServiceImpl extends ServiceImpl implements SpecialDeviceHistoryService {
@Autowired(required = false)
private SpecialDeviceHistoryMapper specialDeviceHistoryMapper;
@Autowired(required = false)
private ManageAccountMapper manageAccountMapper;
@Autowired(required = false)
private VersionMapper versionMapper;
@Autowired(required = false)
private SysDictDataMapper sysDictDataMapper;
@Autowired(required = false)
private OrganizationMapper organizationMapper;
@Autowired
LogUtils logUtils;
@Override
public Map getDataByCondition(Map map) {
Map resultMap = new HashMap<>();
if (!map.containsKey("current")||!map.containsKey("size")){
resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
return resultMap;
}
int current = Integer.parseInt(map.get("current").toString());
int size = Integer.parseInt(map.get("size").toString());
Page page = new Page<>(current,size);
QueryWrapper wrapper_Condition = new QueryWrapper<>();
wrapper_Condition.eq("is_delete",Constants.NOT_DELETE);
if (!ObjectUtils.isEmpty(map.get("organization_id"))){
wrapper_Condition.eq("organization_id",map.get("organization_id").toString());
}
if (!ObjectUtils.isEmpty(map.get("keyword"))){
wrapper_Condition.and(wc -> wc.like("name",map.get("keyword").toString()).or().like("mac",map.get("keyword").toString()));
//wrapper_Condition.like("name",map.get("keyword").toString()).or().like("mac",map.get("keyword").toString());
}
wrapper_Condition.orderByDesc("create_time");
Page resultPage = specialDeviceHistoryMapper.selectPage(page,wrapper_Condition);
int totalNumber = specialDeviceHistoryMapper.selectCount(wrapper_Condition);
List specialDeviceHistories = resultPage.getRecords();
SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List