package com.ld.igds.phone.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.ld.igds.sec.manager.SecManager;
|
import com.ld.igds.constant.RespCodeEnum;
|
import com.ld.igds.data.PageResponse;
|
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.sec.dto.SecurityParam;
|
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 ServiceImpl5405 implements PhoneService {
|
|
@Autowired
|
private SecManager securityManager;
|
|
@Override
|
public String getInterfaceId() {
|
return PhoneConstant.API_PHONE_5405;
|
}
|
|
@SuppressWarnings("unchecked")
|
@Override
|
public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser)
|
throws Exception {
|
|
SecurityParam param = new SecurityParam();
|
List<ExeDevice> list = new ArrayList<>();
|
ExeDevice device;
|
|
//转化请求的设备参数
|
for (JSONObject jsonObject : req.getData1()) {
|
ParamExeDevice paramExeDevice = JSONObject.parseObject(jsonObject.toString(), ParamExeDevice.class);
|
device = new ExeDevice();
|
device.setId(paramExeDevice.getId());
|
device.setCompanyId(authUser.getCompanyId());
|
device.setDepotId(paramExeDevice.getDepotId());
|
device.setPassCode(paramExeDevice.getPassCode());
|
device.setName(paramExeDevice.getName());
|
device.setSerId(paramExeDevice.getSerId());
|
device.setType(paramExeDevice.getType());
|
device.setLink(paramExeDevice.getLink());
|
device.setTargetStatus(paramExeDevice.getTargetStatus());
|
list.add(device);
|
}
|
param.setDeviceList(list);
|
param.setDepotId(list.get(0).getDepotId());
|
param.setCompanyId(authUser.getCompanyId());
|
|
//先验证门禁权限码
|
PageResponse<String> resp = securityManager.checkToken(req.getOutId(), param.getDepotId(),
|
authUser.getDeptId(), authUser.getCompanyId());
|
if (!RespCodeEnum.CODE_0000.getCode().equals(resp.getCode())) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, resp.getMsg());
|
}
|
|
//执行操作
|
DeviceControlResponse response = securityManager.controlDevice(param);
|
|
if (OrderRespEnum.ORDER_ERROR.getCode().equals(response.getCode())) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, response.getMsg());
|
} else {
|
return PhoneRespUtil.success(response.getMsg(), req);
|
}
|
}
|
}
|