123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- /**
- * Date:2019-09-23 17:09:15
- * author:吴洪双
- */
- package com.shawn.web.controller;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Optional;
- import java.util.stream.Collectors;
- import com.shawn.model.dto.TAdminDTO;
- import com.shawn.model.dto.TEquipmentDTO;
- import com.shawn.model.entity.TAdmin;
- import com.shawn.model.entity.TAlarmRecord;
- import com.shawn.model.param.StatisticsParam;
- import com.shawn.service.interfac.TAdminServiceInterface;
- import com.shawn.service.interfac.TAlarmRecordServiceInterface;
- import com.shawn.util.BeanUtils;
- import com.shawn.util.PushUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- 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 com.shawn.model.dto.ResultMessage;
- import com.shawn.web.controller.base.BaseController;
- import com.shawn.model.entity.TEquipment;
- import com.shawn.model.entity.TEquipmentExample;
- import com.shawn.model.param.TEquipmentParam;
- import com.shawn.service.interfac.TEquipmentServiceInterface;
- import lombok.extern.apachecommons.CommonsLog;
- @CommonsLog
- @RestController
- @RequestMapping("TEquipment")
- public class TEquipmentController extends BaseController<TEquipment,TEquipmentExample,TEquipmentParam,Long>{
- @Autowired
- private TEquipmentServiceInterface tEquipmentService;
- @Autowired
- private TAdminServiceInterface tAdminService;
- @Autowired
- private TAlarmRecordServiceInterface tAlarmRecordService;
- @Autowired
- public TEquipmentController(TEquipmentServiceInterface service) {
- super(service);
- }
- @Override
- protected TEquipmentExample createNewExample() {
- return new TEquipmentExample();
- }
- @PostMapping("/getEquipmentListByUser")
- public ResponseEntity<?> getEquipmentListByUser(@RequestBody TAdmin param) {
- List<TAdminDTO> resultList = new ArrayList<>();
- if("admin".equals(param.getUsername())){ // 管理员查所有商家
- List<TAdmin> adminList = tAdminService.selectByOption(null);
- List<TEquipment> equipmentList = tEquipmentService.selectByOption(null);
- List<TAlarmRecord> alarmRecordList = tAlarmRecordService.getLastAlarmRecord(null);
- //获取当前用户今天所有机器的所以警报信息
- List<TAlarmRecord> alarmList = tAlarmRecordService.getAlarmList(null);
- resultList = adminList.stream().map(e ->{
- TAdminDTO dto = new TAdminDTO();
- BeanUtils.copyPropertiesIgnoreNull(e,dto,true);
- List<TEquipmentDTO> selList = equipmentList.stream()
- .filter(equipment ->e.getId().equals(equipment.getAdminId())) // 查对应的设备
- .map(equipment -> {
- TEquipmentDTO equipmentDTO = new TEquipmentDTO();
- BeanUtils.copyPropertiesIgnoreNull(equipment,equipmentDTO,true);
- Optional<TAlarmRecord> op = alarmRecordList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).findFirst();
- if(op.isPresent()){
- equipmentDTO.setAlarmContent(op.get().getAlarmContent());
- equipmentDTO.setOccurrenceTime(op.get().getOccurrenceTime());
- }
- //获取该机器的所有警报信息
- List<TAlarmRecord> eqAlarmList = alarmList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).collect(Collectors.toList());
- equipmentDTO.setAlarmList(eqAlarmList);
- return equipmentDTO;
- }).collect(Collectors.toList());
- dto.setEquipmentList(selList);
- return dto;
- }).collect(Collectors.toList());
- }else{ // 只查当前商家的设备列表
- TAdminDTO dto = new TAdminDTO();
- BeanUtils.copyPropertiesIgnoreNull(param,dto,true);
- TEquipmentExample example = new TEquipmentExample();
- TEquipmentExample.Criteria criteria = example.createCriteria();
- criteria.andAdminIdEqualTo(param.getId());
- List<TEquipment> equipmentList = tEquipmentService.selectByOption(example);
- List<TAlarmRecord> alarmRecordList = tAlarmRecordService.getLastAlarmRecord(param.getId());
- //获取当前用户今天所有机器的所以警报信息
- List<TAlarmRecord> alarmList = tAlarmRecordService.getAlarmList(param.getId());
- List<TEquipmentDTO> equipmentDTOList = equipmentList.stream().map(equipment -> {
- TEquipmentDTO equipmentDTO = new TEquipmentDTO();
- BeanUtils.copyPropertiesIgnoreNull(equipment,equipmentDTO,true);
- Optional<TAlarmRecord> op = alarmRecordList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).findFirst();
- if(op.isPresent()){
- equipmentDTO.setAlarmContent(op.get().getAlarmContent());
- equipmentDTO.setOccurrenceTime(op.get().getOccurrenceTime());
- }
- //获取该机器的所有警报信息
- List<TAlarmRecord> eqAlarmList = alarmList.stream().filter(alarm -> equipment.getClientId().equals(alarm.getClientId())).collect(Collectors.toList());
- equipmentDTO.setAlarmList(eqAlarmList);
- return equipmentDTO;
- }).collect(Collectors.toList());
- dto.setEquipmentList(equipmentDTOList);
- resultList.add(dto);
- }
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData(resultList).setMessage("SUCCESS"));
- }
- @PostMapping("/updateName")
- public ResponseEntity<?> updateName(@RequestBody TEquipment equipment){
- Boolean t=tEquipmentService.updateById(equipment);
- if(t==true){
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData(t).setMessage("修改成功"));
- }else {
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(false).setData(t).setMessage("修改失败"));
- }
- }
- //获取机器数量
- @PostMapping("/getMachineNum")
- public ResponseEntity<?> getMachineNum(@RequestBody StatisticsParam param) {
- String machineTotalNum ="";
- String machineUseNum = "";
- String equipmentId = param.getEquipmentId();
- //判断是否有机器id传入
- if(equipmentId!=null && equipmentId!=""){
- Long id = Long.valueOf(equipmentId);
- TEquipment equipment = tEquipmentService.selectEntityById(id);
- Long adminId = equipment.getAdminId();
- String dminId = String.valueOf(adminId);
- param.setAdminId(dminId);
- machineTotalNum = tEquipmentService.findMachineTotalNum(param);
- machineUseNum = tEquipmentService.findMachineUseNum(param);
- }else{
- machineTotalNum = tEquipmentService.findMachineTotalNum(param);
- machineUseNum = tEquipmentService.findMachineUseNum(param);
- }
- List<String> list = new ArrayList<>();
- list.add(machineTotalNum);
- list.add(machineUseNum);
- return ResponseEntity
- .status(HttpStatus.OK)
- .body(new ResultMessage()
- .setCode(true)
- .setData(list)
- .setMessage("SUCCESS"));
- }
- //机器睡眠
- @PostMapping("/sleep")
- public ResponseEntity<?> sleep(@RequestBody StatisticsParam param) {
- String equipmentId = param.getEquipmentId();
- Long id = Long.valueOf(equipmentId);
- TEquipment equipment = tEquipmentService.selectEntityById(id);
- if (equipment == null) {
- // return ERROR_MESSAGE;
- }
- String eqeStatus = "0";
- String code = param.getAdminId();
- if (code.equals("1")) {
- eqeStatus = "1";
- equipment.setIsSleep(true);
- }else {
- equipment.setIsSleep(false);
- }
- tEquipmentService.updateById(equipment);
- PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("is_sleep", eqeStatus).toString());
- return ResponseEntity
- .status(HttpStatus.OK)
- .body(new ResultMessage()
- .setCode(true)
- .setData("SUCCESS")
- .setMessage("SUCCESS"));
- }
- }
|