package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.AFEInverterHistoryMapper; import com.whyc.mapper.AFEInverterMapper; import com.whyc.mapper.CommonMapper; import com.whyc.pojo.AFEInverterState; import com.whyc.pojo.AFERectifierState; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; @Service public class AFEInverterService { @Resource AFEInverterMapper mapper; @Resource AFEInverterHistoryMapper historyMapper; @Resource CommonMapper commonMapper; /**分页*/ public Response getAll(int pageNum,int pageSize) { IPage afeInverterStateIPage = mapper.selectPage(new Page(pageNum, pageSize), null); return new Response().set(1,afeInverterStateIPage); } public Response getInfoByDeviceId(int devId) { QueryWrapper query = Wrappers.query(); query.eq("dev_id",devId); AFEInverterState afeInverterState = mapper.selectOne(query); return new Response().set(1,afeInverterState); } /** * 有功功率单位为0.1kW * 输出电流单位为0.1A * @return */ public Response> getField() { Map fieldMap = new HashMap(); List fieldNames = new LinkedList(); fieldNames.add("电机转速"); fieldNames.add("输出有功功率"); fieldNames.add("输出电流"); fieldNames.add("输出电压"); fieldNames.add("模块温度"); List fieldValues = new LinkedList(); fieldValues.add("motor_speed"); fieldValues.add("output_power"); fieldValues.add("output_curr"); fieldValues.add("output_vol"); fieldValues.add("model_tmp"); List unit = new LinkedList(); unit.add("RPM"); unit.add("kW"); unit.add("A"); unit.add("V"); unit.add("℃"); fieldMap.put("fieldNames",fieldNames); fieldMap.put("fieldValues",fieldValues); return new Response>().set(1,fieldMap); } /**======History======*/ public Response> getHistory(int pageNum, int pageSize,int devId) { List tableNames = commonMapper.getTableName("db_3.5mw_motor_history", "tb_afe_inverter_state_" + devId); PageHelper.startPage(pageNum,pageSize); List afeInverterStates = historyMapper.getHistory(tableNames); PageInfo afeInverterStatePageInfo = new PageInfo<>(afeInverterStates); return new Response>().set(1,afeInverterStatePageInfo); } /**采用N叉树(二叉树的特殊版)*/ public Response getTableNames() { List tableNames = commonMapper.getTableName("db_3.5mw_motor_history", "tb_afe_inverter_state"); for (int i = 0; i < tableNames.size(); i++) { String tableName = tableNames.get(i); String year = tableName.split("_")[4]; String month = tableName.split("_")[5]; String day = tableName.split("_")[6]; } return null; } }