Commit cd40e0e7 authored by 赵啸非's avatar 赵啸非

修改同步用户

parent b11e4ace
......@@ -11,6 +11,9 @@ import com.mortals.xhx.common.pdu.LoginForm;
import com.mortals.xhx.common.pdu.device.DeviceReq;
import com.mortals.xhx.feign.device.IDeviceFeign;
import com.mortals.xhx.module.device.model.DeviceQuery;
import com.mortals.xhx.module.room.model.RoomDeviceEntity;
import com.mortals.xhx.module.room.model.RoomDeviceQuery;
import com.mortals.xhx.module.room.service.RoomDeviceService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -45,6 +48,8 @@ public class DeviceServiceImpl extends AbstractCRUDCacheServiceImpl<DeviceDao, D
private String loginName;
@Value("${token.password:'admin'}")
private String password;
@Autowired
private RoomDeviceService roomDeviceService;
@Override
protected void validData(DeviceEntity entity, Context context) throws AppException {
......@@ -52,11 +57,43 @@ public class DeviceServiceImpl extends AbstractCRUDCacheServiceImpl<DeviceDao, D
entity.setDeviceCode(entity.getDeviceMac());
}
@Override
protected void saveBefore(DeviceEntity entity, Context context) throws AppException {
super.saveBefore(entity, context);
}
@Override
protected void saveAfter(DeviceEntity entity, Context context) throws AppException {
super.saveAfter(entity, context);
RoomDeviceEntity roomDeviceEntity = new RoomDeviceEntity();
roomDeviceEntity.initAttrValue();
roomDeviceEntity.setRoomId(entity.getRoomId());
roomDeviceEntity.setRoomName(entity.getRoomName());
roomDeviceEntity.setDeviceId(entity.getId());
roomDeviceEntity.setDeviceCode(entity.getDeviceCode());
roomDeviceEntity.setDeviceName(entity.getDeviceName());
roomDeviceService.save(roomDeviceEntity, context);
}
@Override
protected void updateBefore(DeviceEntity entity, Context context) throws AppException {
super.updateBefore(entity, context);
DeviceEntity beforeEntity = this.get(entity.getId(), context);
if (!beforeEntity.getDeviceCode().equals(entity.getDeviceCode())) {
RoomDeviceQuery roomDeviceQuery = new RoomDeviceQuery();
roomDeviceQuery.setDeviceCode(beforeEntity.getDeviceCode());
roomDeviceQuery.setRoomId(entity.getRoomId());
RoomDeviceEntity roomDeviceEntity = roomDeviceService.selectOne(roomDeviceQuery);
if (!ObjectUtils.isEmpty(roomDeviceEntity)) {
roomDeviceEntity.setDeviceCode(entity.getDeviceCode());
roomDeviceEntity.setDeviceId(entity.getId());
roomDeviceEntity.setDeviceName(entity.getDeviceName());
roomDeviceEntity.setUpdateTime(new Date());
roomDeviceService.update(roomDeviceEntity, context);
}
}
}
@Override
protected void updateAfter(DeviceEntity entity, Context context) throws AppException {
......
......@@ -52,6 +52,12 @@ public class RoomServiceImpl extends AbstractCRUDServiceImpl<RoomDao, RoomEntity
item.setDeviceName(deviceCache == null ? "" : deviceCache.getDeviceName());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
DeviceEntity deviceEntity = new DeviceEntity();
deviceEntity.setId(item.getDeviceId());
deviceEntity.setRoomId(entity.getId());
deviceEntity.setRoomName(entity.getRoomName());
deviceService.update(deviceEntity);
}).count();
roomDeviceService.save(entity.getRoomDeviceList());
}
......@@ -69,7 +75,6 @@ public class RoomServiceImpl extends AbstractCRUDServiceImpl<RoomDao, RoomEntity
Long[] roomDeviceIds = roomDeviceService.find(roomDeviceQuery).stream().map(RoomDeviceEntity::getId).toArray(Long[]::new);
roomDeviceService.remove(roomDeviceIds, context);
roomDeviceIds = roomDeviceService.find(new RoomDeviceQuery().roomId(entity.getId())).stream().map(RoomDeviceEntity::getId).toArray(Long[]::new);
roomDeviceService.remove(roomDeviceIds, context);
entity.getRoomDeviceList().stream().peek(item -> {
......@@ -83,6 +88,13 @@ public class RoomServiceImpl extends AbstractCRUDServiceImpl<RoomDao, RoomEntity
item.setCreateTime(new Date());
item.setUpdateUserId(this.getContextUserId(context));
item.setUpdateTime(new Date());
DeviceEntity deviceEntity = new DeviceEntity();
deviceEntity.setId(item.getDeviceId());
deviceEntity.setRoomId(entity.getId());
deviceEntity.setRoomName(entity.getRoomName());
deviceService.update(deviceEntity);
}).count();
roomDeviceService.save(entity.getRoomDeviceList());
}
......@@ -93,6 +105,14 @@ public class RoomServiceImpl extends AbstractCRUDServiceImpl<RoomDao, RoomEntity
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<RoomDeviceEntity> roomDevicelist = roomDeviceService.find(new RoomDeviceQuery().roomIdList(Arrays.asList(ids)));
roomDeviceService.removeList(roomDevicelist, context);
roomDevicelist.stream().forEach(item->{
DeviceEntity deviceEntity = new DeviceEntity();
deviceEntity.setId(item.getDeviceId());
deviceEntity.setRoomId(-1L);
deviceEntity.setRoomName("");
deviceService.update(deviceEntity);
});
super.removeAfter(ids, context, result);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment