package com.szwl.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.szwl.constant.ResponseCodesEnum;
import com.szwl.model.bo.R;
import com.szwl.model.bo.ResponseModel;
import com.szwl.model.entity.TAdmin;
import com.szwl.model.entity.TEquipment;
import com.szwl.model.entity.TMessageCode;
import com.szwl.service.TAdminService;
import com.szwl.service.TEquipmentService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
*
* 设备表 前端控制器
*
*
* @author wuhs
* @since 2022-04-19
*/
@RestController
@RequestMapping("/tEquipment")
public class TEquipmentController {
@Autowired
TEquipmentService tEquipmentService;
@Autowired
TAdminService tAdminService;
/**
*
* @param adminName 商户的登录名
* @param equipmentName 机器名称
* @param areaName 地址名-fullName
* @return
*/
@ApiOperation(value = "查找机器列表")
@PostMapping("/findList")
public ResponseModel> checkForgetCode(Long id, String clientId, String adminName, String equipmentName, String areaName, String eqeStatus, String machineType, String equimentType, String channel,long current,long size ) {
LambdaQueryWrapper query = Wrappers.lambdaQuery();
TAdmin admin = tAdminService.getById(id);
Integer type = admin.getType();
if(type>1){
if(type==2){
query.eq(TEquipment::getAdminId,id);
}
if(type==3){
//查找属于这个商家子账户的设备 todo
}
}
if(StringUtils.isNotEmpty(clientId)){
query.eq(TEquipment::getClientId,clientId);
}
if(StringUtils.isNotEmpty(adminName)){
LambdaQueryWrapper adminQuery = Wrappers.lambdaQuery();
adminQuery.eq(TAdmin::getUsername,adminName);
List list = tAdminService.list(adminQuery);
if(list.size()>0){
query.eq(TEquipment::getAdminId,list.get(0).getId());
}
}
if(StringUtils.isNotEmpty(equipmentName)){
query.eq(TEquipment::getName,equipmentName);
}
if(StringUtils.isNotEmpty(areaName)){
query.like(TEquipment::getFullName,areaName);
}
if(StringUtils.isNotEmpty(eqeStatus)){
query.eq(TEquipment::getEqeStatus,eqeStatus);
}
if(StringUtils.isNotEmpty(machineType)){
query.eq(TEquipment::getMachineType,machineType);
}
if(StringUtils.isNotEmpty(equimentType)){
query.eq(TEquipment::getEquimentType,equimentType);
}
if(StringUtils.isNotEmpty(channel)){
query.eq(TEquipment::getChannel,channel);
}
Page page = new Page<>(current, size, true);
IPage iPage = tEquipmentService.page(page, query);
return R.ok(iPage);
}
@ApiOperation(value = "id查找机器详情")
@PostMapping("/findById")
public ResponseModel> findById(Long id) {
TEquipment equipment = tEquipmentService.getById(id);
return R.ok(equipment);
}
}