package com.ld.igds.phone.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.temp.manager.TempControlManager; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.io.constant.OrderRespEnum; import com.ld.igds.io.request.ExeDevice; import com.ld.igds.io.response.DeviceControlResponse; import com.ld.igds.phone.constant.PhoneConstant; import com.ld.igds.phone.dto.AuthUser; import com.ld.igds.phone.dto.PhoneResponse; import com.ld.igds.phone.param.ParamExeDevice; import com.ld.igds.phone.param.PhoneRequest; import com.ld.igds.phone.service.PhoneService; import com.ld.igds.phone.util.PhoneRespUtil; import com.ld.igds.temp.dto.TempParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 设备控制-空调操作接口实现 * * @author chen */ @Service public class ServiceImpl5404 implements PhoneService { @Autowired private TempControlManager tempManager; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5404; } @SuppressWarnings("unchecked") @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { //转化对象 ParamExeDevice paramDevice = JSONObject.parseObject(req.getData().toString(), ParamExeDevice.class); //设置设备的参数信息 TempParam param = new TempParam(); ExeDevice device = new ExeDevice(); device.setId(paramDevice.getId()); device.setDepotId(paramDevice.getDepotId()); device.setPassCode(paramDevice.getPassCode()); device.setName(paramDevice.getName()); device.setSerId(paramDevice.getSerId()); device.setType(paramDevice.getType()); device.setCompanyId(authUser.getCompanyId()); List list = new ArrayList<>(); list.add(device); //设置设备空调的目标参数 param.setDeviceList(list); param.setTargetModel(paramDevice.getTargetModel()); param.setTargetStatus(paramDevice.getTargetStatus()); param.setTargetTemp(paramDevice.getTargetTemp()); param.setDepotId(paramDevice.getDepotId()); param.setCompanyId(authUser.getCompanyId()); DeviceControlResponse response = tempManager.tempControl(param); if (OrderRespEnum.ORDER_ERROR.getCode().equals(response.getCode())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, response.getMsg()); } else { return PhoneRespUtil.success(response.getMsg(), req); } } }